@ledgerhq/device-management-kit 0.0.0-webhid-20250129103551 → 0.0.0-wip-20250214170223
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 +6 -5
- package/lib/cjs/src/api/DeviceManagementKit.test.js +1 -1
- package/lib/cjs/src/api/DeviceManagementKit.test.js.map +2 -2
- package/lib/cjs/src/api/DeviceManagementKitBuilder.js +1 -1
- package/lib/cjs/src/api/DeviceManagementKitBuilder.js.map +2 -2
- package/lib/cjs/src/api/DeviceManagementKitBuilder.test.js +1 -1
- package/lib/cjs/src/api/DeviceManagementKitBuilder.test.js.map +2 -2
- package/lib/cjs/src/api/apdu/utils/ByteArrayParser.test.js +1 -1
- package/lib/cjs/src/api/apdu/utils/ByteArrayParser.test.js.map +2 -2
- package/lib/cjs/src/api/command/os/LoadCertificateCommand.js +2 -0
- package/lib/cjs/src/api/command/os/LoadCertificateCommand.js.map +7 -0
- package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js +2 -0
- package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js.map +7 -0
- package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
- package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
- package/lib/cjs/src/api/command/utils/CommandUtils.js +1 -1
- package/lib/cjs/src/api/command/utils/CommandUtils.js.map +3 -3
- package/lib/cjs/src/api/command/utils/CommandUtils.test.js +1 -1
- package/lib/cjs/src/api/command/utils/CommandUtils.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/DeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/DeviceAction.js.map +1 -1
- package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
- package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
- package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
- package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js.map +2 -2
- package/lib/cjs/src/api/device-action/__test-utils__/testDeviceActionStates.js +1 -1
- package/lib/cjs/src/api/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +2 -0
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +2 -0
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +2 -0
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +3 -3
- package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +1 -1
- package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +3 -3
- package/lib/cjs/src/api/index.js +1 -1
- package/lib/cjs/src/api/index.js.map +3 -3
- package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.test.js +1 -1
- package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.test.js.map +2 -2
- package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
- package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +2 -2
- package/lib/cjs/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js +1 -1
- package/lib/cjs/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js.map +2 -2
- package/lib/cjs/src/api/transport/model/DeviceApduSender.js +2 -0
- package/lib/cjs/src/api/transport/model/DeviceApduSender.js.map +7 -0
- package/lib/cjs/src/api/transport/model/DeviceConnectionFactory.stub.js +1 -1
- package/lib/cjs/src/api/transport/model/DeviceConnectionFactory.stub.js.map +2 -2
- package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js +2 -0
- package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js.map +7 -0
- package/lib/cjs/src/api/transport/model/DiscoveredDevice.js +1 -1
- package/lib/cjs/src/api/transport/model/DiscoveredDevice.js.map +1 -1
- package/lib/cjs/src/api/transport/model/Errors.js +1 -1
- package/lib/cjs/src/api/transport/model/Errors.js.map +3 -3
- package/lib/cjs/src/api/transport/model/TransportConnectedDevice.stub.js +1 -1
- package/lib/cjs/src/api/transport/model/TransportConnectedDevice.stub.js.map +2 -2
- package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js +1 -1
- package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js.map +1 -1
- package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js +1 -1
- package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js.map +2 -2
- package/lib/cjs/src/api/types.js.map +1 -1
- package/lib/cjs/src/api/utils/Base64String.test.js +1 -1
- package/lib/cjs/src/api/utils/Base64String.test.js.map +2 -2
- package/lib/cjs/src/di.js +1 -1
- package/lib/cjs/src/di.js.map +3 -3
- package/lib/cjs/src/di.stub.js +1 -1
- package/lib/cjs/src/di.stub.js.map +2 -2
- package/lib/cjs/src/internal/config/data/LocalConfigDataSource.test.js +1 -1
- package/lib/cjs/src/internal/config/data/LocalConfigDataSource.test.js.map +3 -3
- package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.test.js +1 -1
- package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.test.js.map +2 -2
- package/lib/cjs/src/internal/config/data/__mocks__/LocalConfigDataSource.js +1 -1
- package/lib/cjs/src/internal/config/data/__mocks__/LocalConfigDataSource.js.map +2 -2
- package/lib/cjs/src/internal/config/data/__mocks__/RemoteConfigDataSource.js +1 -1
- package/lib/cjs/src/internal/config/data/__mocks__/RemoteConfigDataSource.js.map +2 -2
- package/lib/cjs/src/internal/config/service/DefaultConfigService.test.js +1 -1
- package/lib/cjs/src/internal/config/service/DefaultConfigService.test.js.map +2 -2
- package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.test.js +1 -1
- package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.test.js.map +2 -2
- package/lib/cjs/src/internal/device-session/model/DeviceSession.js +1 -1
- package/lib/cjs/src/internal/device-session/model/DeviceSession.js.map +3 -3
- package/lib/cjs/src/internal/device-session/model/DeviceSession.stub.js +1 -1
- package/lib/cjs/src/internal/device-session/model/DeviceSession.stub.js.map +3 -3
- package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
- package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +2 -2
- package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js +1 -1
- package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +2 -2
- package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
- package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js.map +2 -2
- package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
- package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
- package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.js +1 -1
- package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.js.map +3 -3
- package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
- package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
- package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js +1 -1
- package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
- package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
- package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +3 -3
- package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
- package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +2 -2
- package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js +1 -1
- package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js.map +2 -2
- package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js +1 -1
- package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js.map +2 -2
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
- package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js +1 -1
- package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +1 -1
- package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
- package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
- package/lib/cjs/src/internal/manager-api/model/Const.js +1 -1
- package/lib/cjs/src/internal/manager-api/model/Const.js.map +3 -3
- package/lib/cjs/src/internal/manager-api/model/Errors.js +1 -1
- package/lib/cjs/src/internal/manager-api/model/Errors.js.map +3 -3
- package/lib/cjs/src/internal/manager-api/model/Firmware.js +1 -1
- package/lib/cjs/src/internal/manager-api/model/Firmware.js.map +1 -1
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js.map +2 -2
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +2 -2
- package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +2 -0
- package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +7 -0
- package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +2 -0
- package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +7 -0
- package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js +2 -0
- package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js.map +7 -0
- package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +2 -0
- package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +7 -0
- package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js +2 -0
- package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js.map +7 -0
- package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js +2 -0
- package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js.map +7 -0
- package/lib/cjs/src/internal/secure-channel/di/secureChannelTypes.js +2 -0
- package/lib/cjs/src/internal/secure-channel/di/secureChannelTypes.js.map +7 -0
- package/lib/cjs/src/internal/secure-channel/model/Const.js +2 -0
- package/lib/cjs/src/internal/secure-channel/model/Const.js.map +7 -0
- package/lib/cjs/src/internal/secure-channel/model/Errors.js +2 -0
- package/lib/cjs/src/internal/secure-channel/model/Errors.js.map +7 -0
- package/lib/cjs/src/internal/{manager-api → secure-channel}/model/Params.js.map +1 -1
- package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js +2 -0
- package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +7 -0
- package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +2 -0
- package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +7 -0
- package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js +2 -0
- package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js.map +7 -0
- package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
- package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/transport/di/transportModule.test.js +1 -1
- package/lib/cjs/src/internal/transport/di/transportModule.test.js.map +2 -2
- package/lib/cjs/src/internal/transport/service/DefaultTransportService.js +1 -1
- package/lib/cjs/src/internal/transport/service/DefaultTransportService.js.map +3 -3
- package/lib/cjs/src/internal/transport/service/DefaultTransportService.test.js +1 -1
- package/lib/cjs/src/internal/transport/service/DefaultTransportService.test.js.map +2 -2
- package/lib/cjs/src/internal/transport/service/TransportService.js +1 -1
- package/lib/cjs/src/internal/transport/service/TransportService.js.map +1 -1
- package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
- package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
- package/lib/esm/package.json +6 -5
- package/lib/esm/src/api/DeviceManagementKit.test.js +1 -1
- package/lib/esm/src/api/DeviceManagementKit.test.js.map +2 -2
- package/lib/esm/src/api/DeviceManagementKitBuilder.js +1 -1
- package/lib/esm/src/api/DeviceManagementKitBuilder.js.map +2 -2
- package/lib/esm/src/api/DeviceManagementKitBuilder.test.js +1 -1
- package/lib/esm/src/api/DeviceManagementKitBuilder.test.js.map +2 -2
- package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js +1 -1
- package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js.map +2 -2
- package/lib/esm/src/api/command/os/LoadCertificateCommand.js +2 -0
- package/lib/esm/src/api/command/os/LoadCertificateCommand.js.map +7 -0
- package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js +2 -0
- package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js.map +7 -0
- package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
- package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
- package/lib/esm/src/api/command/utils/CommandUtils.js +1 -1
- package/lib/esm/src/api/command/utils/CommandUtils.js.map +3 -3
- package/lib/esm/src/api/command/utils/CommandUtils.test.js +1 -1
- package/lib/esm/src/api/command/utils/CommandUtils.test.js.map +3 -3
- package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
- package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
- package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
- package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js.map +2 -2
- package/lib/esm/src/api/device-action/__test-utils__/testDeviceActionStates.js +1 -1
- package/lib/esm/src/api/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +2 -0
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +7 -0
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +2 -0
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +7 -0
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +1 -0
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +3 -3
- package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +1 -1
- package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +3 -3
- package/lib/esm/src/api/index.js +1 -1
- package/lib/esm/src/api/index.js.map +3 -3
- package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.test.js +1 -1
- package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.test.js.map +2 -2
- package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
- package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +2 -2
- package/lib/esm/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js +1 -1
- package/lib/esm/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js.map +2 -2
- package/lib/esm/src/api/transport/model/DeviceApduSender.js +1 -0
- package/lib/esm/src/api/transport/model/DeviceApduSender.js.map +7 -0
- package/lib/esm/src/api/transport/model/DeviceConnectionFactory.stub.js +1 -1
- package/lib/esm/src/api/transport/model/DeviceConnectionFactory.stub.js.map +2 -2
- package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js +2 -0
- package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js.map +7 -0
- package/lib/esm/src/api/transport/model/Errors.js +1 -1
- package/lib/esm/src/api/transport/model/Errors.js.map +3 -3
- package/lib/esm/src/api/transport/model/TransportConnectedDevice.stub.js +1 -1
- package/lib/esm/src/api/transport/model/TransportConnectedDevice.stub.js.map +2 -2
- package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js +1 -1
- package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js.map +2 -2
- package/lib/esm/src/api/utils/Base64String.test.js +1 -1
- package/lib/esm/src/api/utils/Base64String.test.js.map +2 -2
- package/lib/esm/src/di.js +1 -1
- package/lib/esm/src/di.js.map +3 -3
- package/lib/esm/src/di.stub.js +1 -1
- package/lib/esm/src/di.stub.js.map +2 -2
- package/lib/esm/src/internal/config/data/LocalConfigDataSource.test.js +1 -1
- package/lib/esm/src/internal/config/data/LocalConfigDataSource.test.js.map +3 -3
- package/lib/esm/src/internal/config/data/RemoteConfigDataSource.test.js +1 -1
- package/lib/esm/src/internal/config/data/RemoteConfigDataSource.test.js.map +2 -2
- package/lib/esm/src/internal/config/data/__mocks__/LocalConfigDataSource.js +1 -1
- package/lib/esm/src/internal/config/data/__mocks__/LocalConfigDataSource.js.map +2 -2
- package/lib/esm/src/internal/config/data/__mocks__/RemoteConfigDataSource.js +1 -1
- package/lib/esm/src/internal/config/data/__mocks__/RemoteConfigDataSource.js.map +2 -2
- package/lib/esm/src/internal/config/service/DefaultConfigService.test.js +1 -1
- package/lib/esm/src/internal/config/service/DefaultConfigService.test.js.map +2 -2
- package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.test.js +1 -1
- package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.test.js.map +2 -2
- package/lib/esm/src/internal/device-session/model/DeviceSession.js +1 -1
- package/lib/esm/src/internal/device-session/model/DeviceSession.js.map +3 -3
- package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js +1 -1
- package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js.map +3 -3
- package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
- package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +2 -2
- package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js +1 -1
- package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +2 -2
- package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
- package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js.map +2 -2
- package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
- package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
- package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.js +1 -1
- package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.js.map +3 -3
- package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
- package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
- package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/discovery/di/discoveryModule.test.js +1 -1
- package/lib/esm/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
- package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
- package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +3 -3
- package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
- package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +2 -2
- package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js +1 -1
- package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js.map +2 -2
- package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js +1 -1
- package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js.map +2 -2
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
- package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
- package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
- package/lib/esm/src/internal/manager-api/model/Const.js +1 -1
- package/lib/esm/src/internal/manager-api/model/Const.js.map +3 -3
- package/lib/esm/src/internal/manager-api/model/Errors.js +1 -1
- package/lib/esm/src/internal/manager-api/model/Errors.js.map +3 -3
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js.map +2 -2
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +2 -2
- package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +2 -0
- package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +7 -0
- package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +2 -0
- package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +7 -0
- package/lib/esm/src/internal/secure-channel/data/SecureChannelDataSource.js +1 -0
- package/lib/esm/src/internal/secure-channel/data/SecureChannelDataSource.js.map +7 -0
- package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +2 -0
- package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +7 -0
- package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js +2 -0
- package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js.map +7 -0
- package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js +2 -0
- package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js.map +7 -0
- package/lib/esm/src/internal/secure-channel/di/secureChannelTypes.js +2 -0
- package/lib/esm/src/internal/secure-channel/di/secureChannelTypes.js.map +7 -0
- package/lib/esm/src/internal/secure-channel/model/Const.js +2 -0
- package/lib/esm/src/internal/secure-channel/model/Const.js.map +7 -0
- package/lib/esm/src/internal/secure-channel/model/Errors.js +2 -0
- package/lib/esm/src/internal/secure-channel/model/Errors.js.map +7 -0
- package/lib/esm/src/internal/secure-channel/model/Params.js.map +7 -0
- package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js +2 -0
- package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +7 -0
- package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +2 -0
- package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +7 -0
- package/lib/esm/src/internal/secure-channel/service/SecureChannelService.js +1 -0
- package/lib/esm/src/internal/secure-channel/service/SecureChannelService.js.map +7 -0
- package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
- package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/transport/di/transportModule.test.js +1 -1
- package/lib/esm/src/internal/transport/di/transportModule.test.js.map +2 -2
- package/lib/esm/src/internal/transport/service/DefaultTransportService.js +1 -1
- package/lib/esm/src/internal/transport/service/DefaultTransportService.js.map +3 -3
- package/lib/esm/src/internal/transport/service/DefaultTransportService.test.js +1 -1
- package/lib/esm/src/internal/transport/service/DefaultTransportService.test.js.map +2 -2
- package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
- package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
- package/lib/types/src/api/DeviceManagementKit.d.ts +1 -1
- package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts +25 -0
- package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts.map +1 -0
- package/lib/types/src/api/command/os/LoadCertificateCommand.test.d.ts +2 -0
- package/lib/types/src/api/command/os/LoadCertificateCommand.test.d.ts.map +1 -0
- package/lib/types/src/api/command/utils/CommandUtils.d.ts +1 -0
- package/lib/types/src/api/command/utils/CommandUtils.d.ts.map +1 -1
- package/lib/types/src/api/device-action/DeviceAction.d.ts +5 -0
- package/lib/types/src/api/device-action/DeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts +2 -1
- package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
- package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts.map +1 -1
- package/lib/types/src/api/device-action/__test-utils__/testDeviceActionStates.d.ts +5 -2
- package/lib/types/src/api/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts +40 -0
- package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts.map +1 -0
- package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.d.ts +2 -0
- package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.d.ts.map +1 -0
- package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts +19 -0
- package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts.map +1 -0
- package/lib/types/src/api/index.d.ts +3 -0
- package/lib/types/src/api/index.d.ts.map +1 -1
- package/lib/types/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.d.ts +1 -1
- package/lib/types/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.d.ts.map +1 -1
- package/lib/types/src/api/transport/model/DeviceApduSender.d.ts +17 -0
- package/lib/types/src/api/transport/model/DeviceApduSender.d.ts.map +1 -0
- package/lib/types/src/api/transport/model/DeviceConnectionFactory.stub.d.ts +1 -1
- package/lib/types/src/api/transport/model/DeviceConnectionFactory.stub.d.ts.map +1 -1
- package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.d.ts +60 -0
- package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.d.ts.map +1 -0
- package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts +2 -0
- package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts.map +1 -1
- package/lib/types/src/api/transport/model/Errors.d.ts +15 -0
- package/lib/types/src/api/transport/model/Errors.d.ts.map +1 -1
- package/lib/types/src/api/transport/model/TransportDiscoveredDevice.d.ts +2 -0
- package/lib/types/src/api/transport/model/TransportDiscoveredDevice.d.ts.map +1 -1
- package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts +7 -7
- package/lib/types/src/api/transport/model/__mocks__/TransportMock.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/src/di.d.ts.map +1 -1
- package/lib/types/src/di.stub.d.ts +1 -1
- package/lib/types/src/di.stub.d.ts.map +1 -1
- package/lib/types/src/internal/config/data/__mocks__/LocalConfigDataSource.d.ts +1 -1
- package/lib/types/src/internal/config/data/__mocks__/LocalConfigDataSource.d.ts.map +1 -1
- package/lib/types/src/internal/config/data/__mocks__/RemoteConfigDataSource.d.ts +3 -3
- package/lib/types/src/internal/config/data/__mocks__/RemoteConfigDataSource.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/model/DeviceSession.d.ts +10 -5
- package/lib/types/src/internal/device-session/model/DeviceSession.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts +2 -1
- package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.d.ts +4 -2
- package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.d.ts.map +1 -1
- package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts +3 -1
- package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts.map +1 -1
- package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.d.ts.map +1 -1
- package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts.map +1 -1
- package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.d.ts +5 -5
- package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts +2 -11
- package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +2 -46
- package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts +3 -9
- package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/model/Const.d.ts +0 -1
- package/lib/types/src/internal/manager-api/model/Const.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/model/Errors.d.ts +0 -6
- package/lib/types/src/internal/manager-api/model/Errors.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/model/Firmware.d.ts +4 -0
- package/lib/types/src/internal/manager-api/model/Firmware.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts.map +1 -1
- package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts +18 -0
- package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts.map +1 -0
- package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.d.ts +2 -0
- package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.d.ts.map +1 -0
- package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts +52 -0
- package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts.map +1 -0
- package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts +10 -0
- package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts.map +1 -0
- package/lib/types/src/internal/secure-channel/di/secureChannelModule.d.ts +9 -0
- package/lib/types/src/internal/secure-channel/di/secureChannelModule.d.ts.map +1 -0
- package/lib/types/src/internal/secure-channel/di/secureChannelModule.test.d.ts +2 -0
- package/lib/types/src/internal/secure-channel/di/secureChannelModule.test.d.ts.map +1 -0
- package/lib/types/src/internal/secure-channel/di/secureChannelTypes.d.ts +6 -0
- package/lib/types/src/internal/secure-channel/di/secureChannelTypes.d.ts.map +1 -0
- package/lib/types/src/internal/secure-channel/model/Const.d.ts +2 -0
- package/lib/types/src/internal/secure-channel/model/Const.d.ts.map +1 -0
- package/lib/types/src/internal/secure-channel/model/Errors.d.ts +8 -0
- package/lib/types/src/internal/secure-channel/model/Errors.d.ts.map +1 -0
- package/lib/types/src/internal/secure-channel/model/Params.d.ts.map +1 -0
- package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts +20 -0
- package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts.map +1 -0
- package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.test.d.ts +2 -0
- package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.test.d.ts.map +1 -0
- package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts +20 -0
- package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts.map +1 -0
- package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts +2 -0
- package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts.map +1 -1
- package/lib/types/src/internal/transport/service/TransportService.d.ts +2 -0
- package/lib/types/src/internal/transport/service/TransportService.d.ts.map +1 -1
- package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts +7 -6
- package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts.map +1 -1
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +8 -7
- package/lib/types/src/internal/manager-api/model/Params.d.ts.map +0 -1
- /package/lib/cjs/src/internal/{manager-api → secure-channel}/model/Params.js +0 -0
- /package/lib/esm/src/{internal/manager-api/model/Params.js.map → api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map} +0 -0
- /package/lib/esm/src/internal/{manager-api → secure-channel}/model/Params.js +0 -0
- /package/lib/types/src/internal/{manager-api → secure-channel}/model/Params.d.ts +0 -0
@@ -1,2 +1,2 @@
|
|
1
|
-
import{Right as
|
1
|
+
import{Right as t}from"purify-ts";import{deviceModelStubBuilder as o}from"../../device-model/model/DeviceModel.stub";import{defaultApduResponseStubBuilder as n}from"../../device-session/ApduResponse.stub";import{TransportConnectedDevice as i}from"./TransportConnectedDevice";function u(e={}){const r=o();return new i({deviceModel:r,id:"42",type:"MOCK",transport:"USB",sendApdu:vi.fn(async()=>Promise.resolve(t(n()))),...e})}export{u as connectedDeviceStubBuilder};
|
2
2
|
//# sourceMappingURL=TransportConnectedDevice.stub.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/api/transport/model/TransportConnectedDevice.stub.ts"],
|
4
|
-
"sourcesContent": ["import { Right } from \"purify-ts\";\n\nimport { deviceModelStubBuilder } from \"@api/device-model/model/DeviceModel.stub\";\nimport { defaultApduResponseStubBuilder } from \"@api/device-session/ApduResponse.stub\";\n\nimport {\n type ConnectedDeviceConstructorArgs,\n TransportConnectedDevice,\n} from \"./TransportConnectedDevice\";\n\nexport function connectedDeviceStubBuilder(\n props: Partial<ConnectedDeviceConstructorArgs> = {},\n): TransportConnectedDevice {\n const deviceModel = deviceModelStubBuilder();\n return new TransportConnectedDevice({\n deviceModel,\n id: \"42\",\n type: \"MOCK\",\n transport: \"USB\",\n sendApdu:
|
5
|
-
"mappings": "AAAA,OAAS,SAAAA,MAAa,YAEtB,OAAS,0BAAAC,MAA8B,2CACvC,OAAS,kCAAAC,MAAsC,wCAE/C,OAEE,4BAAAC,MACK,6BAEA,SAASC,EACdC,EAAiD,CAAC,EACxB,CAC1B,MAAMC,EAAcL,EAAuB,EAC3C,OAAO,IAAIE,EAAyB,CAClC,YAAAG,EACA,GAAI,KACJ,KAAM,OACN,UAAW,MACX,SAAU,
|
4
|
+
"sourcesContent": ["import { Right } from \"purify-ts\";\n\nimport { deviceModelStubBuilder } from \"@api/device-model/model/DeviceModel.stub\";\nimport { defaultApduResponseStubBuilder } from \"@api/device-session/ApduResponse.stub\";\n\nimport {\n type ConnectedDeviceConstructorArgs,\n TransportConnectedDevice,\n} from \"./TransportConnectedDevice\";\n\nexport function connectedDeviceStubBuilder(\n props: Partial<ConnectedDeviceConstructorArgs> = {},\n): TransportConnectedDevice {\n const deviceModel = deviceModelStubBuilder();\n return new TransportConnectedDevice({\n deviceModel,\n id: \"42\",\n type: \"MOCK\",\n transport: \"USB\",\n sendApdu: vi.fn(async () =>\n Promise.resolve(Right(defaultApduResponseStubBuilder())),\n ),\n ...props,\n });\n}\n"],
|
5
|
+
"mappings": "AAAA,OAAS,SAAAA,MAAa,YAEtB,OAAS,0BAAAC,MAA8B,2CACvC,OAAS,kCAAAC,MAAsC,wCAE/C,OAEE,4BAAAC,MACK,6BAEA,SAASC,EACdC,EAAiD,CAAC,EACxB,CAC1B,MAAMC,EAAcL,EAAuB,EAC3C,OAAO,IAAIE,EAAyB,CAClC,YAAAG,EACA,GAAI,KACJ,KAAM,OACN,UAAW,MACX,SAAU,GAAG,GAAG,SACd,QAAQ,QAAQN,EAAME,EAA+B,CAAC,CAAC,CACzD,EACA,GAAGG,CACL,CAAC,CACH",
|
6
6
|
"names": ["Right", "deviceModelStubBuilder", "defaultApduResponseStubBuilder", "TransportConnectedDevice", "connectedDeviceStubBuilder", "props", "deviceModel"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
class
|
1
|
+
class i{constructor(){}getIdentifier=vi.fn();isSupported=vi.fn();startDiscovering=vi.fn();stopDiscovering=vi.fn();listenToKnownDevices=vi.fn();connect=vi.fn();disconnect=vi.fn()}export{i as TransportMock};
|
2
2
|
//# sourceMappingURL=TransportMock.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../../src/api/transport/model/__mocks__/TransportMock.ts"],
|
4
|
-
"sourcesContent": ["import { type Transport } from \"@api/transport/model/Transport\";\n\nexport class TransportMock implements Transport {\n constructor() {}\n getIdentifier =
|
5
|
-
"mappings": "AAEO,MAAMA,CAAmC,CAC9C,aAAc,CAAC,CACf,cAAgB,
|
4
|
+
"sourcesContent": ["import { type Transport } from \"@api/transport/model/Transport\";\n\nexport class TransportMock implements Transport {\n constructor() {}\n getIdentifier = vi.fn();\n isSupported = vi.fn();\n startDiscovering = vi.fn();\n stopDiscovering = vi.fn();\n listenToKnownDevices = vi.fn();\n connect = vi.fn();\n disconnect = vi.fn();\n}\n"],
|
5
|
+
"mappings": "AAEO,MAAMA,CAAmC,CAC9C,aAAc,CAAC,CACf,cAAgB,GAAG,GAAG,EACtB,YAAc,GAAG,GAAG,EACpB,iBAAmB,GAAG,GAAG,EACzB,gBAAkB,GAAG,GAAG,EACxB,qBAAuB,GAAG,GAAG,EAC7B,QAAU,GAAG,GAAG,EAChB,WAAa,GAAG,GAAG,CACrB",
|
6
6
|
"names": ["TransportMock"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{base64StringToBuffer as l,isBase64String as s}from"./Base64String";describe("Base64String",()=>{describe("isBase64String function",()=>{it("should return true if the value is a valid base64 string",()=>{const t=s("Zmlyc3QgdG/zdGluZyBz+HI9");expect(t).toBeTruthy()}),it("should return true if the value is a valid base64 string, one padding",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzdHI=");expect(t).toBeTruthy()}),it("should return true if the value is a valid base64 string, two paddings",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzdH==");expect(t).toBeTruthy()}),it("should return true for an empty string",()=>{const t=s("");expect(t).toBeTruthy()}),it("should return false for an invalid base64 string",()=>{const t=s("invalid base64 string");expect(t).toBeFalsy()}),it("should return false with 3 paddings",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzd===");expect(t).toBeFalsy()}),it("should return false on incomplete string (not multiple of 4)",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzdHI");expect(t).toBeFalsy()})}),describe("base64StringToBuffer function",()=>{beforeEach(()=>{
|
1
|
+
import{base64StringToBuffer as l,isBase64String as s}from"./Base64String";describe("Base64String",()=>{describe("isBase64String function",()=>{it("should return true if the value is a valid base64 string",()=>{const t=s("Zmlyc3QgdG/zdGluZyBz+HI9");expect(t).toBeTruthy()}),it("should return true if the value is a valid base64 string, one padding",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzdHI=");expect(t).toBeTruthy()}),it("should return true if the value is a valid base64 string, two paddings",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzdH==");expect(t).toBeTruthy()}),it("should return true for an empty string",()=>{const t=s("");expect(t).toBeTruthy()}),it("should return false for an invalid base64 string",()=>{const t=s("invalid base64 string");expect(t).toBeFalsy()}),it("should return false with 3 paddings",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzd===");expect(t).toBeFalsy()}),it("should return false on incomplete string (not multiple of 4)",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzdHI");expect(t).toBeFalsy()})}),describe("base64StringToBuffer function",()=>{beforeEach(()=>{vi.resetAllMocks()}),it("should convert empty input to empty buffer",()=>{const t=l("");expect(t).toStrictEqual(new Uint8Array)}),it("invalid base64 string converted to null",()=>{const t=l("invalid string");expect(t).toStrictEqual(null)}),it("should convert a base64 string to a buffer using browser's atob",()=>{const t=l("Zmlyc3QgdGVzdCBzdHJpbmc=");expect(t).toStrictEqual(Uint8Array.from([102,105,114,115,116,32,116,101,115,116,32,115,116,114,105,110,103]))}),it("should convert a base64 string to a buffer using Buffer",()=>{vi.spyOn(global,"atob").mockImplementation(()=>{throw new Error("atob is not defined")});const t=l("Zmlyc3QgdGVzdCBzdHJpbmc=");expect(t).toStrictEqual(Uint8Array.from([102,105,114,115,116,32,116,101,115,116,32,115,116,114,105,110,103]))})})});
|
2
2
|
//# sourceMappingURL=Base64String.test.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../src/api/utils/Base64String.test.ts"],
|
4
|
-
"sourcesContent": ["import { base64StringToBuffer, isBase64String } from \"./Base64String\";\n\ndescribe(\"Base64String\", () => {\n describe(\"isBase64String function\", () => {\n it(\"should return true if the value is a valid base64 string\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdG/zdGluZyBz+HI9\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return true if the value is a valid base64 string, one padding\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzdHI=\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return true if the value is a valid base64 string, two paddings\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzdH==\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return true for an empty string\", () => {\n // GIVEN\n const value = \"\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return false for an invalid base64 string\", () => {\n // GIVEN\n const value = \"invalid base64 string\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n\n it(\"should return false with 3 paddings\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzd===\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n\n it(\"should return false on incomplete string (not multiple of 4)\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzdHI\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n });\n\n describe(\"base64StringToBuffer function\", () => {\n beforeEach(() => {\n
|
5
|
-
"mappings": "AAAA,OAAS,wBAAAA,EAAsB,kBAAAC,MAAsB,iBAErD,SAAS,eAAgB,IAAM,CAC7B,SAAS,0BAA2B,IAAM,CACxC,GAAG,2DAA4D,IAAM,CAKnE,MAAMC,EAASD,EAHD,0BAGqB,EAGnC,OAAOC,CAAM,EAAE,WAAW,CAC5B,CAAC,EAED,GAAG,wEAAyE,IAAM,CAKhF,MAAMA,EAASD,EAHD,0BAGqB,EAGnC,OAAOC,CAAM,EAAE,WAAW,CAC5B,CAAC,EAED,GAAG,yEAA0E,IAAM,CAKjF,MAAMA,EAASD,EAHD,0BAGqB,EAGnC,OAAOC,CAAM,EAAE,WAAW,CAC5B,CAAC,EAED,GAAG,yCAA0C,IAAM,CAKjD,MAAMA,EAASD,EAHD,EAGqB,EAGnC,OAAOC,CAAM,EAAE,WAAW,CAC5B,CAAC,EAED,GAAG,mDAAoD,IAAM,CAK3D,MAAMA,EAASD,EAHD,uBAGqB,EAGnC,OAAOC,CAAM,EAAE,UAAU,CAC3B,CAAC,EAED,GAAG,sCAAuC,IAAM,CAK9C,MAAMA,EAASD,EAHD,0BAGqB,EAGnC,OAAOC,CAAM,EAAE,UAAU,CAC3B,CAAC,EAED,GAAG,+DAAgE,IAAM,CAKvE,MAAMA,EAASD,EAHD,yBAGqB,EAGnC,OAAOC,CAAM,EAAE,UAAU,CAC3B,CAAC,CACH,CAAC,EAED,SAAS,gCAAiC,IAAM,CAC9C,WAAW,IAAM,CACf,
|
4
|
+
"sourcesContent": ["import { base64StringToBuffer, isBase64String } from \"./Base64String\";\n\ndescribe(\"Base64String\", () => {\n describe(\"isBase64String function\", () => {\n it(\"should return true if the value is a valid base64 string\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdG/zdGluZyBz+HI9\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return true if the value is a valid base64 string, one padding\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzdHI=\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return true if the value is a valid base64 string, two paddings\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzdH==\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return true for an empty string\", () => {\n // GIVEN\n const value = \"\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return false for an invalid base64 string\", () => {\n // GIVEN\n const value = \"invalid base64 string\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n\n it(\"should return false with 3 paddings\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzd===\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n\n it(\"should return false on incomplete string (not multiple of 4)\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzdHI\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n });\n\n describe(\"base64StringToBuffer function\", () => {\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"should convert empty input to empty buffer\", () => {\n // GIVEN\n const value = \"\";\n\n // WHEN\n const result = base64StringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(new Uint8Array());\n });\n\n it(\"invalid base64 string converted to null\", () => {\n // GIVEN\n const value = \"invalid string\";\n\n // WHEN\n const result = base64StringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(null);\n });\n\n it(\"should convert a base64 string to a buffer using browser's atob\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdCBzdHJpbmc=\";\n\n // WHEN\n const result = base64StringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(\n Uint8Array.from([\n 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x74, 0x65, 0x73, 0x74, 0x20,\n 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,\n ]),\n );\n });\n\n it(\"should convert a base64 string to a buffer using Buffer\", () => {\n // GIVEN\n vi.spyOn(global, \"atob\").mockImplementation(() => {\n throw new Error(\"atob is not defined\");\n });\n const value = \"Zmlyc3QgdGVzdCBzdHJpbmc=\";\n\n // WHEN\n const result = base64StringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(\n Uint8Array.from([\n 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x74, 0x65, 0x73, 0x74, 0x20,\n 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,\n ]),\n );\n });\n });\n});\n"],
|
5
|
+
"mappings": "AAAA,OAAS,wBAAAA,EAAsB,kBAAAC,MAAsB,iBAErD,SAAS,eAAgB,IAAM,CAC7B,SAAS,0BAA2B,IAAM,CACxC,GAAG,2DAA4D,IAAM,CAKnE,MAAMC,EAASD,EAHD,0BAGqB,EAGnC,OAAOC,CAAM,EAAE,WAAW,CAC5B,CAAC,EAED,GAAG,wEAAyE,IAAM,CAKhF,MAAMA,EAASD,EAHD,0BAGqB,EAGnC,OAAOC,CAAM,EAAE,WAAW,CAC5B,CAAC,EAED,GAAG,yEAA0E,IAAM,CAKjF,MAAMA,EAASD,EAHD,0BAGqB,EAGnC,OAAOC,CAAM,EAAE,WAAW,CAC5B,CAAC,EAED,GAAG,yCAA0C,IAAM,CAKjD,MAAMA,EAASD,EAHD,EAGqB,EAGnC,OAAOC,CAAM,EAAE,WAAW,CAC5B,CAAC,EAED,GAAG,mDAAoD,IAAM,CAK3D,MAAMA,EAASD,EAHD,uBAGqB,EAGnC,OAAOC,CAAM,EAAE,UAAU,CAC3B,CAAC,EAED,GAAG,sCAAuC,IAAM,CAK9C,MAAMA,EAASD,EAHD,0BAGqB,EAGnC,OAAOC,CAAM,EAAE,UAAU,CAC3B,CAAC,EAED,GAAG,+DAAgE,IAAM,CAKvE,MAAMA,EAASD,EAHD,yBAGqB,EAGnC,OAAOC,CAAM,EAAE,UAAU,CAC3B,CAAC,CACH,CAAC,EAED,SAAS,gCAAiC,IAAM,CAC9C,WAAW,IAAM,CACf,GAAG,cAAc,CACnB,CAAC,EAED,GAAG,6CAA8C,IAAM,CAKrD,MAAMA,EAASF,EAHD,EAG2B,EAGzC,OAAOE,CAAM,EAAE,cAAc,IAAI,UAAY,CAC/C,CAAC,EAED,GAAG,0CAA2C,IAAM,CAKlD,MAAMA,EAASF,EAHD,gBAG2B,EAGzC,OAAOE,CAAM,EAAE,cAAc,IAAI,CACnC,CAAC,EAED,GAAG,kEAAmE,IAAM,CAK1E,MAAMA,EAASF,EAHD,0BAG2B,EAGzC,OAAOE,CAAM,EAAE,cACb,WAAW,KAAK,CACd,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAC5D,IAAM,IAAM,IAAM,IAAM,IAAM,GAChC,CAAC,CACH,CACF,CAAC,EAED,GAAG,0DAA2D,IAAM,CAElE,GAAG,MAAM,OAAQ,MAAM,EAAE,mBAAmB,IAAM,CAChD,MAAM,IAAI,MAAM,qBAAqB,CACvC,CAAC,EAID,MAAMA,EAASF,EAHD,0BAG2B,EAGzC,OAAOE,CAAM,EAAE,cACb,WAAW,KAAK,CACd,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAC5D,IAAM,IAAM,IAAM,IAAM,IAAM,GAChC,CAAC,CACH,CACF,CAAC,CACH,CAAC,CACH,CAAC",
|
6
6
|
"names": ["base64StringToBuffer", "isBase64String", "result"]
|
7
7
|
}
|
package/lib/esm/src/di.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
import{Container as i}from"inversify";import{commandModuleFactory as a}from"./api/command/di/commandModule";import{deviceActionModuleFactory as
|
1
|
+
import{Container as i}from"inversify";import{commandModuleFactory as a}from"./api/command/di/commandModule";import{deviceActionModuleFactory as p}from"./api/device-action/di/deviceActionModule";import{configModuleFactory as c}from"./internal/config/di/configModule";import{deviceModelModuleFactory as n}from"./internal/device-model/di/deviceModelModule";import{deviceSessionModuleFactory as l}from"./internal/device-session/di/deviceSessionModule";import{discoveryModuleFactory as f}from"./internal/discovery/di/discoveryModule";import{loggerModuleFactory as d}from"./internal/logger-publisher/di/loggerModule";import{managerApiModuleFactory as y}from"./internal/manager-api/di/managerApiModule";import{DEFAULT_MANAGER_API_BASE_URL as F,DEFAULT_MOCK_SERVER_BASE_URL as M}from"./internal/manager-api/model/Const";import{secureChannelModuleFactory as s}from"./internal/secure-channel/di/secureChannelModule";import{DEFAULT_WEB_SOCKET_BASE_URL as g}from"./internal/secure-channel/model/Const";import{sendModuleFactory as A}from"./internal/send/di/sendModule";import{transportModuleFactory as _}from"./internal/transport/di/transportModule";const x=({stub:o=!1,transports:t=[],loggers:m=[],config:r={mockUrl:M,managerApiUrl:F,webSocketUrl:g}})=>{const e=new i;return e.load(c({stub:o}),n({stub:o}),_({stub:o,transports:t,config:r}),y({stub:o,config:r}),s({stub:o,config:r}),f({stub:o}),d({subscribers:m}),l({stub:o}),A({stub:o}),a({stub:o}),p({stub:o})),e};export{x as makeContainer};
|
2
2
|
//# sourceMappingURL=di.js.map
|
package/lib/esm/src/di.js.map
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../src/di.ts"],
|
4
|
-
"sourcesContent": ["import { Container } from \"inversify\";\n\n// Uncomment this line to enable the logger middleware\n// import { makeLoggerMiddleware } from \"inversify-logger-middleware\";\nimport { commandModuleFactory } from \"@api/command/di/commandModule\";\nimport { deviceActionModuleFactory } from \"@api/device-action/di/deviceActionModule\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerSubscriberService } from \"@api/logger-subscriber/service/LoggerSubscriberService\";\nimport { type TransportFactory } from \"@api/transport/model/Transport\";\nimport { configModuleFactory } from \"@internal/config/di/configModule\";\nimport { deviceModelModuleFactory } from \"@internal/device-model/di/deviceModelModule\";\nimport { deviceSessionModuleFactory } from \"@internal/device-session/di/deviceSessionModule\";\nimport { discoveryModuleFactory } from \"@internal/discovery/di/discoveryModule\";\nimport { loggerModuleFactory } from \"@internal/logger-publisher/di/loggerModule\";\nimport { managerApiModuleFactory } from \"@internal/manager-api/di/managerApiModule\";\nimport {\n DEFAULT_MANAGER_API_BASE_URL,\n DEFAULT_MOCK_SERVER_BASE_URL,\n
|
5
|
-
"mappings": "AAAA,OAAS,aAAAA,MAAiB,YAI1B,OAAS,wBAAAC,MAA4B,gCACrC,OAAS,6BAAAC,MAAiC,2CAI1C,OAAS,uBAAAC,MAA2B,mCACpC,OAAS,4BAAAC,MAAgC,8CACzC,OAAS,8BAAAC,MAAkC,kDAC3C,OAAS,0BAAAC,MAA8B,yCACvC,OAAS,uBAAAC,MAA2B,6CACpC,OAAS,2BAAAC,MAA+B,4CACxC,OACE,gCAAAC,EACA,gCAAAC,
|
6
|
-
"names": ["Container", "commandModuleFactory", "deviceActionModuleFactory", "configModuleFactory", "deviceModelModuleFactory", "deviceSessionModuleFactory", "discoveryModuleFactory", "loggerModuleFactory", "managerApiModuleFactory", "DEFAULT_MANAGER_API_BASE_URL", "DEFAULT_MOCK_SERVER_BASE_URL", "DEFAULT_WEB_SOCKET_BASE_URL", "sendModuleFactory", "transportModuleFactory", "makeContainer", "stub", "transports", "loggers", "config", "container"]
|
4
|
+
"sourcesContent": ["import { Container } from \"inversify\";\n\n// Uncomment this line to enable the logger middleware\n// import { makeLoggerMiddleware } from \"inversify-logger-middleware\";\nimport { commandModuleFactory } from \"@api/command/di/commandModule\";\nimport { deviceActionModuleFactory } from \"@api/device-action/di/deviceActionModule\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerSubscriberService } from \"@api/logger-subscriber/service/LoggerSubscriberService\";\nimport { type TransportFactory } from \"@api/transport/model/Transport\";\nimport { configModuleFactory } from \"@internal/config/di/configModule\";\nimport { deviceModelModuleFactory } from \"@internal/device-model/di/deviceModelModule\";\nimport { deviceSessionModuleFactory } from \"@internal/device-session/di/deviceSessionModule\";\nimport { discoveryModuleFactory } from \"@internal/discovery/di/discoveryModule\";\nimport { loggerModuleFactory } from \"@internal/logger-publisher/di/loggerModule\";\nimport { managerApiModuleFactory } from \"@internal/manager-api/di/managerApiModule\";\nimport {\n DEFAULT_MANAGER_API_BASE_URL,\n DEFAULT_MOCK_SERVER_BASE_URL,\n} from \"@internal/manager-api/model/Const\";\nimport { secureChannelModuleFactory } from \"@internal/secure-channel/di/secureChannelModule\";\nimport { DEFAULT_WEB_SOCKET_BASE_URL } from \"@internal/secure-channel/model/Const\";\nimport { sendModuleFactory } from \"@internal/send/di/sendModule\";\nimport { transportModuleFactory } from \"@internal/transport//di/transportModule\";\n\n// Uncomment this line to enable the logger middleware\n// const logger = makeLoggerMiddleware();\n\nexport type MakeContainerProps = {\n stub: boolean;\n transports: TransportFactory[];\n loggers: LoggerSubscriberService[];\n config: DmkConfig;\n};\n\nexport const makeContainer = ({\n stub = false,\n transports = [],\n loggers = [],\n config = {\n mockUrl: DEFAULT_MOCK_SERVER_BASE_URL,\n managerApiUrl: DEFAULT_MANAGER_API_BASE_URL,\n webSocketUrl: DEFAULT_WEB_SOCKET_BASE_URL,\n },\n}: Partial<MakeContainerProps>) => {\n const container = new Container();\n\n // Uncomment this line to enable the logger middleware\n // container.applyMiddleware(logger);\n\n container.load(\n configModuleFactory({ stub }),\n deviceModelModuleFactory({ stub }),\n transportModuleFactory({ stub, transports, config }),\n managerApiModuleFactory({ stub, config }),\n secureChannelModuleFactory({ stub, config }),\n discoveryModuleFactory({ stub }),\n loggerModuleFactory({ subscribers: loggers }),\n deviceSessionModuleFactory({ stub }),\n sendModuleFactory({ stub }),\n commandModuleFactory({ stub }),\n deviceActionModuleFactory({ stub }),\n // modules go here\n );\n\n return container;\n};\n"],
|
5
|
+
"mappings": "AAAA,OAAS,aAAAA,MAAiB,YAI1B,OAAS,wBAAAC,MAA4B,gCACrC,OAAS,6BAAAC,MAAiC,2CAI1C,OAAS,uBAAAC,MAA2B,mCACpC,OAAS,4BAAAC,MAAgC,8CACzC,OAAS,8BAAAC,MAAkC,kDAC3C,OAAS,0BAAAC,MAA8B,yCACvC,OAAS,uBAAAC,MAA2B,6CACpC,OAAS,2BAAAC,MAA+B,4CACxC,OACE,gCAAAC,EACA,gCAAAC,MACK,oCACP,OAAS,8BAAAC,MAAkC,kDAC3C,OAAS,+BAAAC,MAAmC,uCAC5C,OAAS,qBAAAC,MAAyB,+BAClC,OAAS,0BAAAC,MAA8B,0CAYhC,MAAMC,EAAgB,CAAC,CAC5B,KAAAC,EAAO,GACP,WAAAC,EAAa,CAAC,EACd,QAAAC,EAAU,CAAC,EACX,OAAAC,EAAS,CACP,QAAST,EACT,cAAeD,EACf,aAAcG,CAChB,CACF,IAAmC,CACjC,MAAMQ,EAAY,IAAIpB,EAKtB,OAAAoB,EAAU,KACRjB,EAAoB,CAAE,KAAAa,CAAK,CAAC,EAC5BZ,EAAyB,CAAE,KAAAY,CAAK,CAAC,EACjCF,EAAuB,CAAE,KAAAE,EAAM,WAAAC,EAAY,OAAAE,CAAO,CAAC,EACnDX,EAAwB,CAAE,KAAAQ,EAAM,OAAAG,CAAO,CAAC,EACxCR,EAA2B,CAAE,KAAAK,EAAM,OAAAG,CAAO,CAAC,EAC3Cb,EAAuB,CAAE,KAAAU,CAAK,CAAC,EAC/BT,EAAoB,CAAE,YAAaW,CAAQ,CAAC,EAC5Cb,EAA2B,CAAE,KAAAW,CAAK,CAAC,EACnCH,EAAkB,CAAE,KAAAG,CAAK,CAAC,EAC1Bf,EAAqB,CAAE,KAAAe,CAAK,CAAC,EAC7Bd,EAA0B,CAAE,KAAAc,CAAK,CAAC,CAEpC,EAEOI,CACT",
|
6
|
+
"names": ["Container", "commandModuleFactory", "deviceActionModuleFactory", "configModuleFactory", "deviceModelModuleFactory", "deviceSessionModuleFactory", "discoveryModuleFactory", "loggerModuleFactory", "managerApiModuleFactory", "DEFAULT_MANAGER_API_BASE_URL", "DEFAULT_MOCK_SERVER_BASE_URL", "secureChannelModuleFactory", "DEFAULT_WEB_SOCKET_BASE_URL", "sendModuleFactory", "transportModuleFactory", "makeContainer", "stub", "transports", "loggers", "config", "container"]
|
7
7
|
}
|
package/lib/esm/src/di.stub.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
var
|
1
|
+
var t=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var p=(f,i,l,o)=>{for(var c=o>1?void 0:o?x(i,l):i,m=f.length-1,n;m>=0;m--)(n=f[m])&&(c=(o?n(i,l,c):n(c))||c);return o&&c&&t(i,l,c),c};import{injectable as j}from"inversify";let r=class{execute=vi.fn(()=>"stub")};r=p([j()],r);export{r as StubUseCase};
|
2
2
|
//# sourceMappingURL=di.stub.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../src/di.stub.ts"],
|
4
|
-
"sourcesContent": ["import { injectable } from \"inversify\";\n\n@injectable()\nexport class StubUseCase {\n execute =
|
5
|
-
"mappings": "wMAAA,OAAS,cAAAA,MAAkB,YAGpB,IAAMC,EAAN,KAAkB,CACvB,QAAU,
|
4
|
+
"sourcesContent": ["import { injectable } from \"inversify\";\n\n@injectable()\nexport class StubUseCase {\n execute = vi.fn(() => \"stub\");\n}\n"],
|
5
|
+
"mappings": "wMAAA,OAAS,cAAAA,MAAkB,YAGpB,IAAMC,EAAN,KAAkB,CACvB,QAAU,GAAG,GAAG,IAAM,MAAM,CAC9B,EAFaA,EAANC,EAAA,CADNC,EAAW,GACCF",
|
6
6
|
"names": ["injectable", "StubUseCase", "__decorateClass", "injectable"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{Either as a,Left as
|
1
|
+
import{Either as a,Left as i}from"purify-ts";import{JSONParseError as s,ReadFileError as c}from"../../config/model/Errors";import l from"../../../../package.json";import*as o from"./LocalConfigDataSource";const{FileLocalConfigDataSource:f}=o,t=vi.spyOn(o,"stubFsReadFile"),n=vi.spyOn(JSON,"parse"),u=vi.spyOn(JSON,"stringify");let r;describe("LocalConfigDataSource",()=>{describe("FileLocalConfigDataSource",()=>{beforeEach(()=>{vi.resetAllMocks(),r=new f}),afterAll(()=>{vi.resetAllMocks()}),it("should return an Either<never, Config>",()=>{t.mockReturnValue(JSON.stringify({name:"DeviceSDK",version:"0.0.0-spied.1"})),n.mockReturnValue({name:"DeviceSDK",version:"0.0.0-spied.1"}),expect(r.getConfig()).toStrictEqual(a.of({name:"DeviceSDK",version:"0.0.0-spied.1"}))}),it("should return an Either<ReadFileError, never> if readFileSync throws",()=>{const e=new Error("readFileSync error");u.mockImplementation(()=>{throw e}),expect(r.getConfig()).toEqual(i(new c(e)))}),it("should return an Either<JSONParseError, never> if JSON.parse throws",()=>{const e=new Error("JSON.parse error");t.mockReturnValue(JSON.stringify({name:"DeviceSDK",version:"0.0.0-spied.1"})),n.mockImplementation(()=>{throw e}),expect(r.getConfig()).toEqual(i(new s(e)))})}),describe("stubFsReadFile",()=>{it("should return a stringified version of the version object",()=>{expect(o.stubFsReadFile()).toEqual(JSON.stringify({name:"@ledgerhq/device-management-kit",version:l.version}))})})});
|
2
2
|
//# sourceMappingURL=LocalConfigDataSource.test.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/config/data/LocalConfigDataSource.test.ts"],
|
4
|
-
"sourcesContent": ["import { Either, Left } from \"purify-ts\";\n\nimport { JSONParseError, ReadFileError } from \"@internal/config/model/Errors\";\nimport pkg from \"@root/package.json\";\n\nimport { type LocalConfigDataSource } from \"./ConfigDataSource\";\nimport * as LocalConfig from \"./LocalConfigDataSource\";\n\nconst { FileLocalConfigDataSource } = LocalConfig;\n\nconst readFileSyncSpy =
|
5
|
-
"mappings": "AAAA,OAAS,UAAAA,EAAQ,QAAAC,MAAY,YAE7B,OAAS,kBAAAC,EAAgB,iBAAAC,MAAqB,gCAC9C,OAAOC,MAAS,qBAGhB,UAAYC,MAAiB,0BAE7B,KAAM,CAAE,0BAAAC,CAA0B,EAAID,EAEhCE,EAAkB,
|
6
|
-
"names": ["Either", "Left", "JSONParseError", "ReadFileError", "pkg", "LocalConfig", "FileLocalConfigDataSource", "readFileSyncSpy", "jsonParse", "datasource", "err"]
|
4
|
+
"sourcesContent": ["import { Either, Left } from \"purify-ts\";\n\nimport { JSONParseError, ReadFileError } from \"@internal/config/model/Errors\";\nimport pkg from \"@root/package.json\";\n\nimport { type LocalConfigDataSource } from \"./ConfigDataSource\";\nimport * as LocalConfig from \"./LocalConfigDataSource\";\n\nconst { FileLocalConfigDataSource } = LocalConfig;\n\nconst readFileSyncSpy = vi.spyOn(LocalConfig, \"stubFsReadFile\");\nconst jsonParse = vi.spyOn(JSON, \"parse\");\nconst jsonStringify = vi.spyOn(JSON, \"stringify\");\n\nlet datasource: LocalConfigDataSource;\ndescribe(\"LocalConfigDataSource\", () => {\n describe(\"FileLocalConfigDataSource\", () => {\n beforeEach(() => {\n vi.resetAllMocks();\n datasource = new FileLocalConfigDataSource();\n });\n\n afterAll(() => {\n vi.resetAllMocks();\n });\n\n it(\"should return an Either<never, Config>\", () => {\n readFileSyncSpy.mockReturnValue(\n JSON.stringify({ name: \"DeviceSDK\", version: \"0.0.0-spied.1\" }),\n );\n\n jsonParse.mockReturnValue({\n name: \"DeviceSDK\",\n version: \"0.0.0-spied.1\",\n });\n\n expect(datasource.getConfig()).toStrictEqual(\n Either.of({\n name: \"DeviceSDK\",\n version: \"0.0.0-spied.1\",\n }),\n );\n });\n\n it(\"should return an Either<ReadFileError, never> if readFileSync throws\", () => {\n const err = new Error(\"readFileSync error\");\n jsonStringify.mockImplementation(() => {\n throw err;\n });\n\n expect(datasource.getConfig()).toEqual(Left(new ReadFileError(err)));\n });\n\n it(\"should return an Either<JSONParseError, never> if JSON.parse throws\", () => {\n const err = new Error(\"JSON.parse error\");\n readFileSyncSpy.mockReturnValue(\n JSON.stringify({ name: \"DeviceSDK\", version: \"0.0.0-spied.1\" }),\n );\n\n jsonParse.mockImplementation(() => {\n throw err;\n });\n\n expect(datasource.getConfig()).toEqual(Left(new JSONParseError(err)));\n });\n });\n\n describe(\"stubFsReadFile\", () => {\n it(\"should return a stringified version of the version object\", () => {\n expect(LocalConfig.stubFsReadFile()).toEqual(\n JSON.stringify({\n name: \"@ledgerhq/device-management-kit\",\n version: pkg.version,\n }),\n );\n });\n });\n});\n"],
|
5
|
+
"mappings": "AAAA,OAAS,UAAAA,EAAQ,QAAAC,MAAY,YAE7B,OAAS,kBAAAC,EAAgB,iBAAAC,MAAqB,gCAC9C,OAAOC,MAAS,qBAGhB,UAAYC,MAAiB,0BAE7B,KAAM,CAAE,0BAAAC,CAA0B,EAAID,EAEhCE,EAAkB,GAAG,MAAMF,EAAa,gBAAgB,EACxDG,EAAY,GAAG,MAAM,KAAM,OAAO,EAClCC,EAAgB,GAAG,MAAM,KAAM,WAAW,EAEhD,IAAIC,EACJ,SAAS,wBAAyB,IAAM,CACtC,SAAS,4BAA6B,IAAM,CAC1C,WAAW,IAAM,CACf,GAAG,cAAc,EACjBA,EAAa,IAAIJ,CACnB,CAAC,EAED,SAAS,IAAM,CACb,GAAG,cAAc,CACnB,CAAC,EAED,GAAG,yCAA0C,IAAM,CACjDC,EAAgB,gBACd,KAAK,UAAU,CAAE,KAAM,YAAa,QAAS,eAAgB,CAAC,CAChE,EAEAC,EAAU,gBAAgB,CACxB,KAAM,YACN,QAAS,eACX,CAAC,EAED,OAAOE,EAAW,UAAU,CAAC,EAAE,cAC7BV,EAAO,GAAG,CACR,KAAM,YACN,QAAS,eACX,CAAC,CACH,CACF,CAAC,EAED,GAAG,uEAAwE,IAAM,CAC/E,MAAMW,EAAM,IAAI,MAAM,oBAAoB,EAC1CF,EAAc,mBAAmB,IAAM,CACrC,MAAME,CACR,CAAC,EAED,OAAOD,EAAW,UAAU,CAAC,EAAE,QAAQT,EAAK,IAAIE,EAAcQ,CAAG,CAAC,CAAC,CACrE,CAAC,EAED,GAAG,sEAAuE,IAAM,CAC9E,MAAMA,EAAM,IAAI,MAAM,kBAAkB,EACxCJ,EAAgB,gBACd,KAAK,UAAU,CAAE,KAAM,YAAa,QAAS,eAAgB,CAAC,CAChE,EAEAC,EAAU,mBAAmB,IAAM,CACjC,MAAMG,CACR,CAAC,EAED,OAAOD,EAAW,UAAU,CAAC,EAAE,QAAQT,EAAK,IAAIC,EAAeS,CAAG,CAAC,CAAC,CACtE,CAAC,CACH,CAAC,EAED,SAAS,iBAAkB,IAAM,CAC/B,GAAG,4DAA6D,IAAM,CACpE,OAAON,EAAY,eAAe,CAAC,EAAE,QACnC,KAAK,UAAU,CACb,KAAM,kCACN,QAASD,EAAI,OACf,CAAC,CACH,CACF,CAAC,CACH,CAAC,CACH,CAAC",
|
6
|
+
"names": ["Either", "Left", "JSONParseError", "ReadFileError", "pkg", "LocalConfig", "FileLocalConfigDataSource", "readFileSyncSpy", "jsonParse", "jsonStringify", "datasource", "err"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{Either as e,Left as o}from"purify-ts";import{ApiCallError as c,JSONParseError as l,ParseResponseError as
|
1
|
+
import{Either as e,Left as o}from"purify-ts";import{ApiCallError as c,JSONParseError as l,ParseResponseError as i}from"../../config/model/Errors";import{RestRemoteConfigDataSource as s}from"./RemoteConfigDataSource";let r;const t=vi.spyOn(s.prototype,"_callApi"),n=vi.spyOn(s.prototype,"_parseResponse");describe("RemoteRestConfigDataSource",()=>{describe("RestRemoteConfigDataSource",()=>{beforeEach(()=>{t.mockClear(),n.mockClear(),r=new s}),it("should return an Either<never, Config>",async()=>{t.mockResolvedValue(e.of({ok:!0,json:()=>Promise.resolve(e.of({name:"DeviceSDK",version:"0.0.0-fake.1"}))})),n.mockReturnValue(e.of({name:"DeviceSDK",version:"0.0.0-fake.1"})),expect(await r.getConfig()).toStrictEqual(e.of({name:"DeviceSDK",version:"0.0.0-fake.1"}))}),it("should return an Either<ApiCallError, never> if _callApi throws",async()=>{const a=new Error("_callApi error");t.mockResolvedValue(o(a)),expect(await r.getConfig()).toStrictEqual(o(new c(a)))}),it("should return an Either<ApiCallError, never> if _callApi returns a non-ok response",async()=>{t.mockResolvedValue(e.of({ok:!1,json:()=>Promise.resolve(e.of({name:"DeviceSDK",version:"0.0.0-fake.1"}))})),expect(await r.getConfig()).toStrictEqual(o(new c(new Error("response not ok"))))}),it("should return an Either<JSONParseError, never> if deserializing json fails",async()=>{const a=new Error("deserializing json failure");t.mockResolvedValue(e.of({ok:!0,json:()=>Promise.resolve(o(a))})),expect(await r.getConfig()).toStrictEqual(o(new l))}),it("should return an Either<ParseResponseError, never> if _parseResponse throws",async()=>{t.mockResolvedValue(e.of({ok:!0,json:()=>Promise.resolve(e.of({name:"DeviceSDK",version:"0.0.0-fake.1"}))})),n.mockImplementation(()=>o(new i)),expect(await r.getConfig()).toStrictEqual(o(new i))}),it("should return an Either<ParseResponseError, never> if `name` is missing in Dto",async()=>{n.mockRestore(),t.mockResolvedValue(e.of({ok:!0,json:()=>Promise.resolve(e.of({version:"0.0.0-fake.1",yolo:"yolo"}))})),expect(await r.getConfig()).toStrictEqual(o(new i))}),describe("without private methods spy",()=>{beforeEach(()=>{t.mockRestore(),n.mockRestore()}),it("should return an Either<never, Config>",async()=>{expect(await r.getConfig()).toStrictEqual(e.of({name:"DeviceSDK",version:"0.0.0-fake.1"}))})})})});
|
2
2
|
//# sourceMappingURL=RemoteConfigDataSource.test.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/config/data/RemoteConfigDataSource.test.ts"],
|
4
|
-
"sourcesContent": ["import { Either, Left } from \"purify-ts\";\n\nimport {\n ApiCallError,\n JSONParseError,\n ParseResponseError,\n} from \"@internal/config/model/Errors\";\n\nimport { type RemoteConfigDataSource } from \"./ConfigDataSource\";\nimport { RestRemoteConfigDataSource } from \"./RemoteConfigDataSource\";\n\nlet datasource: RemoteConfigDataSource;\n\n// Necessary to use `any` on the prototype to be able to spy on private methods\n/* eslint-disable @typescript-eslint/no-explicit-any */\nconst callApiSpy =
|
5
|
-
"mappings": "AAAA,OAAS,UAAAA,EAAQ,QAAAC,MAAY,YAE7B,OACE,gBAAAC,EACA,kBAAAC,EACA,sBAAAC,MACK,gCAGP,OAAS,8BAAAC,MAAkC,2BAE3C,IAAIC,EAIJ,MAAMC,EAAa,
|
4
|
+
"sourcesContent": ["import { Either, Left } from \"purify-ts\";\n\nimport {\n ApiCallError,\n JSONParseError,\n ParseResponseError,\n} from \"@internal/config/model/Errors\";\n\nimport { type RemoteConfigDataSource } from \"./ConfigDataSource\";\nimport { RestRemoteConfigDataSource } from \"./RemoteConfigDataSource\";\n\nlet datasource: RemoteConfigDataSource;\n\n// Necessary to use `any` on the prototype to be able to spy on private methods\n/* eslint-disable @typescript-eslint/no-explicit-any */\nconst callApiSpy = vi.spyOn(\n RestRemoteConfigDataSource.prototype as any,\n \"_callApi\",\n);\nconst parseResponseSpy = vi.spyOn(\n RestRemoteConfigDataSource.prototype as any,\n \"_parseResponse\",\n);\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\ndescribe(\"RemoteRestConfigDataSource\", () => {\n describe(\"RestRemoteConfigDataSource\", () => {\n beforeEach(() => {\n callApiSpy.mockClear();\n parseResponseSpy.mockClear();\n datasource = new RestRemoteConfigDataSource();\n });\n\n it(\"should return an Either<never, Config>\", async () => {\n callApiSpy.mockResolvedValue(\n Either.of({\n ok: true,\n json: () =>\n Promise.resolve(\n Either.of({ name: \"DeviceSDK\", version: \"0.0.0-fake.1\" }),\n ),\n }),\n );\n\n parseResponseSpy.mockReturnValue(\n Either.of({\n name: \"DeviceSDK\",\n version: \"0.0.0-fake.1\",\n }),\n );\n\n expect(await datasource.getConfig()).toStrictEqual(\n Either.of({\n name: \"DeviceSDK\",\n version: \"0.0.0-fake.1\",\n }),\n );\n });\n\n it(\"should return an Either<ApiCallError, never> if _callApi throws\", async () => {\n const err = new Error(\"_callApi error\");\n callApiSpy.mockResolvedValue(Left(err));\n\n expect(await datasource.getConfig()).toStrictEqual(\n Left(new ApiCallError(err)),\n );\n });\n\n it(\"should return an Either<ApiCallError, never> if _callApi returns a non-ok response\", async () => {\n callApiSpy.mockResolvedValue(\n Either.of({\n ok: false,\n json: () =>\n Promise.resolve(\n Either.of({ name: \"DeviceSDK\", version: \"0.0.0-fake.1\" }),\n ),\n }),\n );\n\n expect(await datasource.getConfig()).toStrictEqual(\n Left(new ApiCallError(new Error(\"response not ok\"))),\n );\n });\n\n it(\"should return an Either<JSONParseError, never> if deserializing json fails\", async () => {\n const err = new Error(\"deserializing json failure\");\n callApiSpy.mockResolvedValue(\n Either.of({\n ok: true,\n json: () => Promise.resolve(Left(err)),\n }),\n );\n\n expect(await datasource.getConfig()).toStrictEqual(\n Left(new JSONParseError()),\n );\n });\n\n it(\"should return an Either<ParseResponseError, never> if _parseResponse throws\", async () => {\n callApiSpy.mockResolvedValue(\n Either.of({\n ok: true,\n json: () =>\n Promise.resolve(\n Either.of({ name: \"DeviceSDK\", version: \"0.0.0-fake.1\" }),\n ),\n }),\n );\n\n parseResponseSpy.mockImplementation(() => {\n return Left(new ParseResponseError());\n });\n\n expect(await datasource.getConfig()).toStrictEqual(\n Left(new ParseResponseError()),\n );\n });\n\n it(\"should return an Either<ParseResponseError, never> if `name` is missing in Dto\", async () => {\n parseResponseSpy.mockRestore();\n callApiSpy.mockResolvedValue(\n Either.of({\n ok: true,\n json: () =>\n Promise.resolve(\n Either.of({\n version: \"0.0.0-fake.1\",\n yolo: \"yolo\",\n }),\n ),\n }),\n );\n\n expect(await datasource.getConfig()).toStrictEqual(\n Left(new ParseResponseError()),\n );\n });\n\n describe(\"without private methods spy\", () => {\n beforeEach(() => {\n callApiSpy.mockRestore();\n parseResponseSpy.mockRestore();\n });\n\n it(\"should return an Either<never, Config>\", async () => {\n expect(await datasource.getConfig()).toStrictEqual(\n Either.of({\n name: \"DeviceSDK\",\n version: \"0.0.0-fake.1\",\n }),\n );\n });\n });\n });\n});\n"],
|
5
|
+
"mappings": "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",
|
6
6
|
"names": ["Either", "Left", "ApiCallError", "JSONParseError", "ParseResponseError", "RestRemoteConfigDataSource", "datasource", "callApiSpy", "parseResponseSpy", "err"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
class a{getConfig=
|
1
|
+
class a{getConfig=vi.fn()}export{a as FileLocalConfigDataSource};
|
2
2
|
//# sourceMappingURL=LocalConfigDataSource.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../../src/internal/config/data/__mocks__/LocalConfigDataSource.ts"],
|
4
|
-
"sourcesContent": ["import { type LocalConfigDataSource } from \"@internal/config/data/ConfigDataSource\";\n\nexport class FileLocalConfigDataSource implements LocalConfigDataSource {\n getConfig =
|
5
|
-
"mappings": "AAEO,MAAMA,CAA2D,CACtE,UAAY,
|
4
|
+
"sourcesContent": ["import { type LocalConfigDataSource } from \"@internal/config/data/ConfigDataSource\";\n\nexport class FileLocalConfigDataSource implements LocalConfigDataSource {\n getConfig = vi.fn();\n}\n"],
|
5
|
+
"mappings": "AAEO,MAAMA,CAA2D,CACtE,UAAY,GAAG,GAAG,CACpB",
|
6
6
|
"names": ["FileLocalConfigDataSource"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
class
|
1
|
+
class o{getConfig=vi.fn();_parseResponse=vi.fn();_callApi=vi.fn()}export{o as RestRemoteConfigDataSource};
|
2
2
|
//# sourceMappingURL=RemoteConfigDataSource.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../../src/internal/config/data/__mocks__/RemoteConfigDataSource.ts"],
|
4
|
-
"sourcesContent": ["import { type RemoteConfigDataSource } from \"@internal/config/data/ConfigDataSource\";\n\nexport class RestRemoteConfigDataSource implements RemoteConfigDataSource {\n getConfig =
|
5
|
-
"mappings": "AAEO,MAAMA,CAA6D,CACxE,UAAY,
|
4
|
+
"sourcesContent": ["import { type RemoteConfigDataSource } from \"@internal/config/data/ConfigDataSource\";\n\nexport class RestRemoteConfigDataSource implements RemoteConfigDataSource {\n getConfig = vi.fn();\n _parseResponse = vi.fn();\n _callApi = vi.fn();\n}\n"],
|
5
|
+
"mappings": "AAEO,MAAMA,CAA6D,CACxE,UAAY,GAAG,GAAG,EAClB,eAAiB,GAAG,GAAG,EACvB,SAAW,GAAG,GAAG,CACnB",
|
6
6
|
"names": ["RestRemoteConfigDataSource"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{Either as r,Left as
|
1
|
+
import{Either as r,Left as i}from"purify-ts";import{FileLocalConfigDataSource as n}from"../../config/data/LocalConfigDataSource";import{RestRemoteConfigDataSource as l}from"../../config/data/RemoteConfigDataSource";import{JSONParseError as a}from"../../config/model/Errors";import{DefaultLoggerPublisherService as f}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{DefaultConfigService as g}from"./DefaultConfigService";vi.mock("@internal/config/data/LocalConfigDataSource");vi.mock("@internal/config/data/RemoteConfigDataSource");let e,o,c,t;describe("DefaultConfigService",()=>{beforeEach(()=>{vi.clearAllMocks(),e=new n,o=new l,c=new f([],"config"),t=new g(e,o,()=>c)}),describe("when the local config is available",()=>{it("should return the `local` version",async()=>{e.getConfig.mockReturnValue(r.of({name:"DeviceSDK",version:"1.0.0-local"})),expect(await t.getDmkConfig()).toStrictEqual({name:"DeviceSDK",version:"1.0.0-local"})})}),describe("when the local config is not available, use remote",()=>{it("should return the `remote` version",async()=>{e.getConfig.mockReturnValue(i(new a)),o.getConfig.mockResolvedValue(r.of({name:"DeviceSDK",version:"1.0.0-remote"})),expect(await t.getDmkConfig()).toStrictEqual({name:"DeviceSDK",version:"1.0.0-remote"})})}),describe("when the local remote config are not available",()=>{it("should return the `default` version",async()=>{e.getConfig.mockReturnValue(i(new a)),o.getConfig.mockResolvedValue(i(new a)),expect(await t.getDmkConfig()).toStrictEqual({name:"DeadDmk",version:"0.0.0-dead.1"})})})});
|
2
2
|
//# sourceMappingURL=DefaultConfigService.test.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/config/service/DefaultConfigService.test.ts"],
|
4
|
-
"sourcesContent": ["import { Either, Left } from \"purify-ts\";\n\nimport { FileLocalConfigDataSource } from \"@internal/config/data/LocalConfigDataSource\";\nimport { RestRemoteConfigDataSource } from \"@internal/config/data/RemoteConfigDataSource\";\nimport { JSONParseError } from \"@internal/config/model/Errors\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\n\nimport { type ConfigService } from \"./ConfigService\";\nimport { DefaultConfigService } from \"./DefaultConfigService\";\n\
|
5
|
-
"mappings": "AAAA,OAAS,UAAAA,EAAQ,QAAAC,MAAY,
|
4
|
+
"sourcesContent": ["import { Either, Left } from \"purify-ts\";\nimport { type Mocked } from \"vitest\";\n\nimport { FileLocalConfigDataSource } from \"@internal/config/data/LocalConfigDataSource\";\nimport { RestRemoteConfigDataSource } from \"@internal/config/data/RemoteConfigDataSource\";\nimport { JSONParseError } from \"@internal/config/model/Errors\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\n\nimport { type ConfigService } from \"./ConfigService\";\nimport { DefaultConfigService } from \"./DefaultConfigService\";\n\nvi.mock(\"@internal/config/data/LocalConfigDataSource\");\nvi.mock(\"@internal/config/data/RemoteConfigDataSource\");\n\nlet localDataSource: Mocked<FileLocalConfigDataSource>;\nlet remoteDataSource: Mocked<RestRemoteConfigDataSource>;\nlet loggerService: Mocked<DefaultLoggerPublisherService>;\n\nlet service: ConfigService;\ndescribe(\"DefaultConfigService\", () => {\n beforeEach(() => {\n vi.clearAllMocks();\n localDataSource =\n new FileLocalConfigDataSource() as Mocked<FileLocalConfigDataSource>;\n remoteDataSource =\n new RestRemoteConfigDataSource() as Mocked<RestRemoteConfigDataSource>;\n\n loggerService = new DefaultLoggerPublisherService(\n [],\n \"config\",\n ) as Mocked<DefaultLoggerPublisherService>;\n\n service = new DefaultConfigService(\n localDataSource,\n remoteDataSource,\n () => loggerService,\n );\n });\n\n describe(\"when the local config is available\", () => {\n it(\"should return the `local` version\", async () => {\n localDataSource.getConfig.mockReturnValue(\n Either.of({\n name: \"DeviceSDK\",\n version: \"1.0.0-local\",\n }),\n );\n\n expect(await service.getDmkConfig()).toStrictEqual({\n name: \"DeviceSDK\",\n version: \"1.0.0-local\",\n });\n });\n });\n\n describe(\"when the local config is not available, use remote\", () => {\n it(\"should return the `remote` version\", async () => {\n localDataSource.getConfig.mockReturnValue(Left(new JSONParseError()));\n remoteDataSource.getConfig.mockResolvedValue(\n Either.of({\n name: \"DeviceSDK\",\n version: \"1.0.0-remote\",\n }),\n );\n\n expect(await service.getDmkConfig()).toStrictEqual({\n name: \"DeviceSDK\",\n version: \"1.0.0-remote\",\n });\n });\n });\n\n describe(\"when the local remote config are not available\", () => {\n it(\"should return the `default` version\", async () => {\n localDataSource.getConfig.mockReturnValue(Left(new JSONParseError()));\n remoteDataSource.getConfig.mockResolvedValue(Left(new JSONParseError()));\n\n expect(await service.getDmkConfig()).toStrictEqual({\n name: \"DeadDmk\",\n version: \"0.0.0-dead.1\",\n });\n });\n });\n});\n"],
|
5
|
+
"mappings": "AAAA,OAAS,UAAAA,EAAQ,QAAAC,MAAY,YAG7B,OAAS,6BAAAC,MAAiC,8CAC1C,OAAS,8BAAAC,MAAkC,+CAC3C,OAAS,kBAAAC,MAAsB,gCAC/B,OAAS,iCAAAC,MAAqC,mEAG9C,OAAS,wBAAAC,MAA4B,yBAErC,GAAG,KAAK,6CAA6C,EACrD,GAAG,KAAK,8CAA8C,EAEtD,IAAIC,EACAC,EACAC,EAEAC,EACJ,SAAS,uBAAwB,IAAM,CACrC,WAAW,IAAM,CACf,GAAG,cAAc,EACjBH,EACE,IAAIL,EACNM,EACE,IAAIL,EAENM,EAAgB,IAAIJ,EAClB,CAAC,EACD,QACF,EAEAK,EAAU,IAAIJ,EACZC,EACAC,EACA,IAAMC,CACR,CACF,CAAC,EAED,SAAS,qCAAsC,IAAM,CACnD,GAAG,oCAAqC,SAAY,CAClDF,EAAgB,UAAU,gBACxBP,EAAO,GAAG,CACR,KAAM,YACN,QAAS,aACX,CAAC,CACH,EAEA,OAAO,MAAMU,EAAQ,aAAa,CAAC,EAAE,cAAc,CACjD,KAAM,YACN,QAAS,aACX,CAAC,CACH,CAAC,CACH,CAAC,EAED,SAAS,qDAAsD,IAAM,CACnE,GAAG,qCAAsC,SAAY,CACnDH,EAAgB,UAAU,gBAAgBN,EAAK,IAAIG,CAAgB,CAAC,EACpEI,EAAiB,UAAU,kBACzBR,EAAO,GAAG,CACR,KAAM,YACN,QAAS,cACX,CAAC,CACH,EAEA,OAAO,MAAMU,EAAQ,aAAa,CAAC,EAAE,cAAc,CACjD,KAAM,YACN,QAAS,cACX,CAAC,CACH,CAAC,CACH,CAAC,EAED,SAAS,iDAAkD,IAAM,CAC/D,GAAG,sCAAuC,SAAY,CACpDH,EAAgB,UAAU,gBAAgBN,EAAK,IAAIG,CAAgB,CAAC,EACpEI,EAAiB,UAAU,kBAAkBP,EAAK,IAAIG,CAAgB,CAAC,EAEvE,OAAO,MAAMM,EAAQ,aAAa,CAAC,EAAE,cAAc,CACjD,KAAM,UACN,QAAS,cACX,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC",
|
6
6
|
"names": ["Either", "Left", "FileLocalConfigDataSource", "RestRemoteConfigDataSource", "JSONParseError", "DefaultLoggerPublisherService", "DefaultConfigService", "localDataSource", "remoteDataSource", "loggerService", "service"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{GetDmkVersionUseCase as
|
1
|
+
import{GetDmkVersionUseCase as i}from"./GetDmkVersionUseCase";const e=vi.fn();let o;describe("GetDmkVersionUseCase",()=>{beforeEach(()=>{e.mockClear();const s={getDmkConfig:e};o=new i(s)}),it("should return the dmk version",async()=>{e.mockResolvedValue({name:"DeviceSDK",version:"1.0.0"}),expect(await o.getDmkVersion()).toBe("1.0.0")})});
|
2
2
|
//# sourceMappingURL=GetDmkVersionUseCase.test.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/config/use-case/GetDmkVersionUseCase.test.ts"],
|
4
|
-
"sourcesContent": ["import { GetDmkVersionUseCase } from \"./GetDmkVersionUseCase\";\n\nconst getDmkConfigMock =
|
5
|
-
"mappings": "AAAA,OAAS,wBAAAA,MAA4B,yBAErC,MAAMC,EAAmB,
|
4
|
+
"sourcesContent": ["import { GetDmkVersionUseCase } from \"./GetDmkVersionUseCase\";\n\nconst getDmkConfigMock = vi.fn();\n\nlet usecase: GetDmkVersionUseCase;\ndescribe(\"GetDmkVersionUseCase\", () => {\n beforeEach(() => {\n getDmkConfigMock.mockClear();\n const configService = {\n getDmkConfig: getDmkConfigMock,\n };\n\n usecase = new GetDmkVersionUseCase(configService);\n });\n\n it(\"should return the dmk version\", async () => {\n getDmkConfigMock.mockResolvedValue({\n name: \"DeviceSDK\",\n version: \"1.0.0\",\n });\n expect(await usecase.getDmkVersion()).toBe(\"1.0.0\");\n });\n});\n"],
|
5
|
+
"mappings": "AAAA,OAAS,wBAAAA,MAA4B,yBAErC,MAAMC,EAAmB,GAAG,GAAG,EAE/B,IAAIC,EACJ,SAAS,uBAAwB,IAAM,CACrC,WAAW,IAAM,CACfD,EAAiB,UAAU,EAC3B,MAAME,EAAgB,CACpB,aAAcF,CAChB,EAEAC,EAAU,IAAIF,EAAqBG,CAAa,CAClD,CAAC,EAED,GAAG,gCAAiC,SAAY,CAC9CF,EAAiB,kBAAkB,CACjC,KAAM,YACN,QAAS,OACX,CAAC,EACD,OAAO,MAAMC,EAAQ,cAAc,CAAC,EAAE,KAAK,OAAO,CACpD,CAAC,CACH,CAAC",
|
6
6
|
"names": ["GetDmkVersionUseCase", "getDmkConfigMock", "usecase", "configService"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{Left as
|
1
|
+
import{Left as a}from"purify-ts";import{BehaviorSubject as d}from"rxjs";import{v4 as p}from"uuid";import{CommandUtils as u}from"../../../api/command/utils/CommandUtils";import{DeviceStatus as s}from"../../../api/device/DeviceStatus";import{DeviceSessionStateType as v}from"../../../api/device-session/DeviceSessionState";import{DeviceBusyError as S}from"../../../api/Error";import{DEVICE_SESSION_REFRESH_INTERVAL as l}from"../../device-session/data/DeviceSessionRefresherConst";import{DeviceSessionRefresher as h}from"./DeviceSessionRefresher";class b{_id;_connectedDevice;_deviceState;_refresher;_managerApiService;_secureChannelService;constructor({connectedDevice:e,id:t=p()},r,i,n){this._id=t,this._connectedDevice=e,this._deviceState=new d({sessionStateType:v.Connected,deviceStatus:s.CONNECTED,deviceModelId:this._connectedDevice.deviceModel.id}),this._refresher=new h({refreshInterval:l,deviceStatus:s.CONNECTED,deviceModelId:this._connectedDevice.deviceModel.id,sendApduFn:o=>this.sendApdu(o,{isPolling:!0,triggersDisconnection:!1}),updateStateFn:o=>{const c=this._deviceState.getValue();this.setDeviceSessionState(o(c))}},r("device-session-refresher")),this._managerApiService=i,this._secureChannelService=n}get id(){return this._id}get connectedDevice(){return this._connectedDevice}get state(){return this._deviceState.asObservable()}setDeviceSessionState(e){this._deviceState.next(e)}updateDeviceStatus(e){const t=this._deviceState.getValue();this._refresher.setDeviceStatus(e),this._deviceState.next({...t,deviceStatus:e})}async sendApdu(e,t={isPolling:!1,triggersDisconnection:!1}){return t.isPolling||(this.toggleRefresher(!1),await this.waitUntilReady()),this._deviceState.getValue().deviceStatus===s.BUSY?a(new S):(this.updateDeviceStatus(s.BUSY),(await this._connectedDevice.sendApdu(e,t.triggersDisconnection)).ifRight(n=>{u.isLockedDeviceResponse(n)?this.updateDeviceStatus(s.LOCKED):this.updateDeviceStatus(s.CONNECTED),t.isPolling||this.toggleRefresher(!0)}).ifLeft(()=>{this.updateDeviceStatus(s.CONNECTED),t.isPolling||this.toggleRefresher(!0)}))}async waitUntilReady(){let e;await new Promise(t=>{e=this._deviceState.subscribe(r=>{r.deviceStatus===s.CONNECTED&&(e?.unsubscribe(),t())})})}async sendCommand(e){const t=e.getApdu();return(await this.sendApdu(t.getRawApdu(),{isPolling:!1,triggersDisconnection:e.triggersDisconnection??!1})).caseOf({Left:i=>{throw i},Right:i=>e.parseResponse(i,this._connectedDevice.deviceModel.id)})}executeDeviceAction(e){const{observable:t,cancel:r}=e._execute({sendApdu:async i=>this.sendApdu(i),sendCommand:async i=>this.sendCommand(i),getDeviceSessionState:()=>this._deviceState.getValue(),getDeviceSessionStateObservable:()=>this.state,setDeviceSessionState:i=>(this.setDeviceSessionState(i),this._deviceState.getValue()),getManagerApiService:()=>this._managerApiService,getSecureChannelService:()=>this._secureChannelService});return{observable:t,cancel:r}}close(){this.updateDeviceStatus(s.NOT_CONNECTED),this._deviceState.complete(),this._refresher.stop()}toggleRefresher(e){e?this._refresher.start():this._refresher.stop()}}export{b as DeviceSession};
|
2
2
|
//# sourceMappingURL=DeviceSession.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/device-session/model/DeviceSession.ts"],
|
4
|
-
"sourcesContent": ["import { type Either, Left } from \"purify-ts\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport { type Command } from \"@api/command/Command\";\nimport { type CommandResult } from \"@api/command/model/CommandResult\";\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport {\n type DeviceAction,\n type DeviceActionIntermediateValue,\n type ExecuteDeviceActionReturnType,\n} from \"@api/device-action/DeviceAction\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport {\n type DeviceSessionState,\n DeviceSessionStateType,\n} from \"@api/device-session/DeviceSessionState\";\nimport { type DeviceSessionId } from \"@api/device-session/types\";\nimport { DeviceBusyError, type DmkError } from \"@api/Error\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { type TransportConnectedDevice } from \"@api/transport/model/TransportConnectedDevice\";\nimport { DEVICE_SESSION_REFRESH_INTERVAL } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nimport { DeviceSessionRefresher } from \"./DeviceSessionRefresher\";\n\nexport type SessionConstructorArgs = {\n connectedDevice: TransportConnectedDevice;\n id?: DeviceSessionId;\n};\n\n/**\n * Represents a session with a device.\n */\nexport class DeviceSession {\n private readonly _id: DeviceSessionId;\n private readonly _connectedDevice: TransportConnectedDevice;\n private readonly _deviceState: BehaviorSubject<DeviceSessionState>;\n private readonly _refresher: DeviceSessionRefresher;\n private readonly _managerApiService: ManagerApiService;\n\n constructor(\n { connectedDevice, id = uuidv4() }: SessionConstructorArgs,\n loggerModuleFactory: (tag: string) => LoggerPublisherService,\n managerApiService: ManagerApiService,\n ) {\n this._id = id;\n this._connectedDevice = connectedDevice;\n this._deviceState = new BehaviorSubject<DeviceSessionState>({\n sessionStateType: DeviceSessionStateType.Connected,\n deviceStatus: DeviceStatus.CONNECTED,\n deviceModelId: this._connectedDevice.deviceModel.id,\n });\n this._refresher = new DeviceSessionRefresher(\n {\n refreshInterval: DEVICE_SESSION_REFRESH_INTERVAL,\n deviceStatus: DeviceStatus.CONNECTED,\n deviceModelId: this._connectedDevice.deviceModel.id,\n sendApduFn: (rawApdu: Uint8Array) =>\n this.sendApdu(rawApdu, {\n isPolling: true,\n triggersDisconnection: false,\n }),\n updateStateFn: (callback) => {\n const state = this._deviceState.getValue();\n this.setDeviceSessionState(callback(state));\n },\n },\n loggerModuleFactory(\"device-session-refresher\"),\n );\n this._managerApiService = managerApiService;\n }\n\n public get id() {\n return this._id;\n }\n\n public get connectedDevice() {\n return this._connectedDevice;\n }\n\n public get state() {\n return this._deviceState.asObservable();\n }\n\n public setDeviceSessionState(state: DeviceSessionState) {\n this._deviceState.next(state);\n }\n\n private updateDeviceStatus(deviceStatus: DeviceStatus) {\n const sessionState = this._deviceState.getValue();\n this._refresher.setDeviceStatus(deviceStatus);\n this._deviceState.next({\n ...sessionState,\n deviceStatus,\n });\n }\n\n async sendApdu(\n rawApdu: Uint8Array,\n options:
|
5
|
-
"mappings": "AAAA,OAAsB,QAAAA,MAAY,YAClC,OAAS,mBAAAC,
|
6
|
-
"names": ["Left", "BehaviorSubject", "uuidv4", "CommandUtils", "DeviceStatus", "DeviceSessionStateType", "DeviceBusyError", "DEVICE_SESSION_REFRESH_INTERVAL", "DeviceSessionRefresher", "DeviceSession", "connectedDevice", "id", "loggerModuleFactory", "managerApiService", "rawApdu", "callback", "state", "deviceStatus", "sessionState", "options", "response", "command", "apdu", "err", "r", "deviceAction", "observable", "cancel", "enabled"]
|
4
|
+
"sourcesContent": ["import { type Either, Left } from \"purify-ts\";\nimport { BehaviorSubject, type Subscription } from \"rxjs\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport { type Command } from \"@api/command/Command\";\nimport { type CommandResult } from \"@api/command/model/CommandResult\";\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport {\n type DeviceAction,\n type DeviceActionIntermediateValue,\n type ExecuteDeviceActionReturnType,\n} from \"@api/device-action/DeviceAction\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport {\n type DeviceSessionState,\n DeviceSessionStateType,\n} from \"@api/device-session/DeviceSessionState\";\nimport { type DeviceSessionId } from \"@api/device-session/types\";\nimport { DeviceBusyError, type DmkError } from \"@api/Error\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { type TransportConnectedDevice } from \"@api/transport/model/TransportConnectedDevice\";\nimport { DEVICE_SESSION_REFRESH_INTERVAL } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nimport { DeviceSessionRefresher } from \"./DeviceSessionRefresher\";\n\nexport type SessionConstructorArgs = {\n connectedDevice: TransportConnectedDevice;\n id?: DeviceSessionId;\n};\n\ntype SendApduOptions = {\n isPolling?: boolean;\n triggersDisconnection?: boolean;\n};\n\n/**\n * Represents a session with a device.\n */\nexport class DeviceSession {\n private readonly _id: DeviceSessionId;\n private readonly _connectedDevice: TransportConnectedDevice;\n private readonly _deviceState: BehaviorSubject<DeviceSessionState>;\n private readonly _refresher: DeviceSessionRefresher;\n private readonly _managerApiService: ManagerApiService;\n private readonly _secureChannelService: SecureChannelService;\n\n constructor(\n { connectedDevice, id = uuidv4() }: SessionConstructorArgs,\n loggerModuleFactory: (tag: string) => LoggerPublisherService,\n managerApiService: ManagerApiService,\n secureChannelService: SecureChannelService,\n ) {\n this._id = id;\n this._connectedDevice = connectedDevice;\n this._deviceState = new BehaviorSubject<DeviceSessionState>({\n sessionStateType: DeviceSessionStateType.Connected,\n deviceStatus: DeviceStatus.CONNECTED,\n deviceModelId: this._connectedDevice.deviceModel.id,\n });\n this._refresher = new DeviceSessionRefresher(\n {\n refreshInterval: DEVICE_SESSION_REFRESH_INTERVAL,\n deviceStatus: DeviceStatus.CONNECTED,\n deviceModelId: this._connectedDevice.deviceModel.id,\n sendApduFn: (rawApdu: Uint8Array) =>\n this.sendApdu(rawApdu, {\n isPolling: true,\n triggersDisconnection: false,\n }),\n updateStateFn: (callback) => {\n const state = this._deviceState.getValue();\n this.setDeviceSessionState(callback(state));\n },\n },\n loggerModuleFactory(\"device-session-refresher\"),\n );\n this._managerApiService = managerApiService;\n this._secureChannelService = secureChannelService;\n }\n\n public get id() {\n return this._id;\n }\n\n public get connectedDevice() {\n return this._connectedDevice;\n }\n\n public get state() {\n return this._deviceState.asObservable();\n }\n\n public setDeviceSessionState(state: DeviceSessionState) {\n this._deviceState.next(state);\n }\n\n private updateDeviceStatus(deviceStatus: DeviceStatus) {\n const sessionState = this._deviceState.getValue();\n this._refresher.setDeviceStatus(deviceStatus);\n this._deviceState.next({\n ...sessionState,\n deviceStatus,\n });\n }\n\n async sendApdu(\n rawApdu: Uint8Array,\n options: SendApduOptions = {\n isPolling: false,\n triggersDisconnection: false,\n },\n ): Promise<Either<DmkError, ApduResponse>> {\n if (!options.isPolling) {\n this.toggleRefresher(false);\n await this.waitUntilReady();\n }\n\n const sessionState = this._deviceState.getValue();\n if (sessionState.deviceStatus === DeviceStatus.BUSY) {\n return Left(new DeviceBusyError());\n }\n\n this.updateDeviceStatus(DeviceStatus.BUSY);\n\n const errorOrResponse = await this._connectedDevice.sendApdu(\n rawApdu,\n options.triggersDisconnection,\n );\n\n return errorOrResponse\n .ifRight((response: ApduResponse) => {\n if (CommandUtils.isLockedDeviceResponse(response)) {\n this.updateDeviceStatus(DeviceStatus.LOCKED);\n } else {\n this.updateDeviceStatus(DeviceStatus.CONNECTED);\n }\n\n if (!options.isPolling) {\n this.toggleRefresher(true);\n }\n })\n .ifLeft(() => {\n this.updateDeviceStatus(DeviceStatus.CONNECTED);\n\n if (!options.isPolling) {\n this.toggleRefresher(true);\n }\n });\n }\n\n async waitUntilReady() {\n let deviceStateSub: Subscription;\n\n await new Promise<void>((resolve) => {\n deviceStateSub = this._deviceState.subscribe((state) => {\n if (state.deviceStatus === DeviceStatus.CONNECTED) {\n deviceStateSub?.unsubscribe();\n resolve();\n }\n });\n });\n }\n\n async sendCommand<Response, Args, ErrorStatusCodes>(\n command: Command<Response, Args, ErrorStatusCodes>,\n ): Promise<CommandResult<Response, ErrorStatusCodes>> {\n const apdu = command.getApdu();\n const response = await this.sendApdu(apdu.getRawApdu(), {\n isPolling: false,\n triggersDisconnection: command.triggersDisconnection ?? false,\n });\n\n return response.caseOf({\n Left: (err) => {\n throw err;\n },\n Right: (r) =>\n command.parseResponse(r, this._connectedDevice.deviceModel.id),\n });\n }\n\n executeDeviceAction<\n Output,\n Input,\n Error extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n >(\n deviceAction: DeviceAction<Output, Input, Error, IntermediateValue>,\n ): ExecuteDeviceActionReturnType<Output, Error, IntermediateValue> {\n const { observable, cancel } = deviceAction._execute({\n sendApdu: async (apdu: Uint8Array) => this.sendApdu(apdu),\n sendCommand: async <Response, ErrorStatusCodes, Args>(\n command: Command<Response, ErrorStatusCodes, Args>,\n ) => this.sendCommand(command),\n getDeviceSessionState: () => this._deviceState.getValue(),\n getDeviceSessionStateObservable: () => this.state,\n setDeviceSessionState: (state: DeviceSessionState) => {\n this.setDeviceSessionState(state);\n return this._deviceState.getValue();\n },\n getManagerApiService: () => this._managerApiService,\n getSecureChannelService: () => this._secureChannelService,\n });\n\n return {\n observable,\n cancel,\n };\n }\n\n close() {\n this.updateDeviceStatus(DeviceStatus.NOT_CONNECTED);\n this._deviceState.complete();\n this._refresher.stop();\n }\n\n toggleRefresher(enabled: boolean) {\n if (enabled) {\n this._refresher.start();\n } else {\n this._refresher.stop();\n }\n }\n}\n"],
|
5
|
+
"mappings": "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",
|
6
|
+
"names": ["Left", "BehaviorSubject", "uuidv4", "CommandUtils", "DeviceStatus", "DeviceSessionStateType", "DeviceBusyError", "DEVICE_SESSION_REFRESH_INTERVAL", "DeviceSessionRefresher", "DeviceSession", "connectedDevice", "id", "loggerModuleFactory", "managerApiService", "secureChannelService", "rawApdu", "callback", "state", "deviceStatus", "sessionState", "options", "response", "deviceStateSub", "resolve", "command", "apdu", "err", "r", "deviceAction", "observable", "cancel", "enabled"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{connectedDeviceStubBuilder as
|
1
|
+
import{connectedDeviceStubBuilder as n}from"../../../api/transport/model/TransportConnectedDevice.stub";import{DeviceSession as t}from"../../device-session/model/DeviceSession";const a=(e={},r,i,o)=>new t({connectedDevice:n(),id:"fakeSessionId",...e},r,i,o);export{a as deviceSessionStubBuilder};
|
2
2
|
//# sourceMappingURL=DeviceSession.stub.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/device-session/model/DeviceSession.stub.ts"],
|
4
|
-
"sourcesContent": ["import { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport {\n DeviceSession,\n type SessionConstructorArgs,\n} from \"@internal/device-session/model/DeviceSession\";\nimport type { ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nexport const deviceSessionStubBuilder = (\n props: Partial<SessionConstructorArgs> = {},\n loggerFactory: (tag: string) => LoggerPublisherService,\n managerApi: ManagerApiService,\n) =>\n new DeviceSession(\n {\n connectedDevice: connectedDeviceStubBuilder(),\n id: \"fakeSessionId\",\n ...props,\n },\n loggerFactory,\n managerApi,\n );\n"],
|
5
|
-
"mappings": "AACA,OAAS,8BAAAA,MAAkC,qDAC3C,OACE,iBAAAC,MAEK,+
|
6
|
-
"names": ["connectedDeviceStubBuilder", "DeviceSession", "deviceSessionStubBuilder", "props", "loggerFactory", "managerApi"]
|
4
|
+
"sourcesContent": ["import { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport {\n DeviceSession,\n type SessionConstructorArgs,\n} from \"@internal/device-session/model/DeviceSession\";\nimport type { ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nexport const deviceSessionStubBuilder = (\n props: Partial<SessionConstructorArgs> = {},\n loggerFactory: (tag: string) => LoggerPublisherService,\n managerApi: ManagerApiService,\n secureChannel: SecureChannelService,\n) =>\n new DeviceSession(\n {\n connectedDevice: connectedDeviceStubBuilder(),\n id: \"fakeSessionId\",\n ...props,\n },\n loggerFactory,\n managerApi,\n secureChannel,\n );\n"],
|
5
|
+
"mappings": "AACA,OAAS,8BAAAA,MAAkC,qDAC3C,OACE,iBAAAC,MAEK,+CAIA,MAAMC,EAA2B,CACtCC,EAAyC,CAAC,EAC1CC,EACAC,EACAC,IAEA,IAAIL,EACF,CACE,gBAAiBD,EAA2B,EAC5C,GAAI,gBACJ,GAAGG,CACL,EACAC,EACAC,EACAC,CACF",
|
6
|
+
"names": ["connectedDeviceStubBuilder", "DeviceSession", "deviceSessionStubBuilder", "props", "loggerFactory", "managerApi", "secureChannel"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{Left as
|
1
|
+
import{Left as m,Right as v}from"purify-ts";import{CommandResultFactory as u}from"../../../api/command/model/CommandResult";import{GetAppAndVersionCommand as p}from"../../../api/command/os/GetAppAndVersionCommand";import{GetOsVersionCommand as l}from"../../../api/command/os/GetOsVersionCommand";import{DeviceModelId as n}from"../../../api/device/DeviceModel";import{DeviceStatus as i}from"../../../api/device/DeviceStatus";import{DEVICE_SESSION_REFRESH_INTERVAL as s}from"../../device-session/data/DeviceSessionRefresherConst";import{DefaultLoggerPublisherService as h}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{DeviceSessionRefresher as c}from"./DeviceSessionRefresher";const t=vi.fn().mockResolvedValue(Promise.resolve(v({}))),a=vi.fn().mockImplementation(()=>{});vi.useFakeTimers();describe("DeviceSessionRefresher",()=>{let e,r;beforeEach(()=>{vi.spyOn(p.prototype,"parseResponse").mockReturnValueOnce(u({data:{name:"testAppName"}})),vi.spyOn(l.prototype,"parseResponse").mockReturnValueOnce(u({data:{}})),r=new h([],"DeviceSessionRefresherTest")}),describe("With a modern device",()=>{beforeEach(()=>{const o=Object.values(n).filter(d=>d!==n.NANO_S);e=new c({refreshInterval:s,deviceStatus:i.CONNECTED,sendApduFn:t,updateStateFn:a,deviceModelId:o[Math.floor(Math.random()*o.length)]},r)}),afterEach(()=>{e.stop(),vi.clearAllMocks()}),it("should poll by calling sendApduFn 2 times",()=>{vi.advanceTimersByTime(s*2),expect(t).toHaveBeenCalledTimes(2)}),it("should not poll when device is busy",()=>{e.setDeviceStatus(i.BUSY),vi.advanceTimersByTime(s),expect(t).not.toHaveBeenCalled()}),it("should not poll when device is disconnected",()=>{e.setDeviceStatus(i.NOT_CONNECTED),vi.advanceTimersByTime(s),expect(t).not.toHaveBeenCalled()}),it("should update device session state by calling updateStateFn",async()=>{vi.advanceTimersByTime(s),await expect(t()).resolves.toEqual(v({})),expect(t).toHaveBeenCalled(),expect(a).toHaveBeenCalled()}),it("should not update device session state with failed polling response",async()=>{t.mockResolvedValueOnce(Promise.resolve(m("error")));const o=vi.spyOn(r,"error");vi.advanceTimersByTime(s),await t(),await expect(a).not.toHaveBeenCalled(),expect(o).toHaveBeenCalled()}),it("should stop the refresher when device is disconnected",()=>{const o=vi.spyOn(e,"stop");e.setDeviceStatus(i.NOT_CONNECTED),expect(o).toHaveBeenCalledTimes(1)}),it("should not throw error if stop is called on a stopped refresher",()=>{e.stop(),expect(()=>e.stop()).not.toThrow()}),it("should not throw error if start is called on a started refresher",()=>{e.start(),expect(()=>e.start()).not.toThrow()})}),describe("With a NanoS device",()=>{afterEach(()=>{e.stop(),vi.clearAllMocks()}),it("should call sendApduFn 2 times and update state 1 time for a single interval",async()=>{e=new c({refreshInterval:s,deviceStatus:i.CONNECTED,sendApduFn:t,updateStateFn:a,deviceModelId:n.NANO_S},r),vi.advanceTimersByTime(s*2+100),await Promise.resolve(),expect(t).toHaveBeenNthCalledWith(1,new p().getApdu().getRawApdu()),await Promise.resolve(),expect(t).toHaveBeenLastCalledWith(new l().getApdu().getRawApdu()),await Promise.resolve(),expect(t).toHaveBeenCalledTimes(2),await Promise.resolve(),expect(a).toHaveBeenCalledTimes(1)}),it("should set device locked when get os version times out",async()=>{t.mockImplementation(o=>o.toString()===new l().getApdu().getRawApdu().toString()?new Promise(d=>setTimeout(()=>d(m("timeout")),s*10)):Promise.resolve(v({}))),a.mockImplementation(o=>{e.setDeviceStatus(o().deviceStatus)}),e=new c({refreshInterval:s,deviceStatus:i.CONNECTED,sendApduFn:t,updateStateFn:a,deviceModelId:n.NANO_S},r),vi.spyOn(e,"setDeviceStatus"),vi.advanceTimersByTime(s*5+100),await Promise.resolve(),expect(t).toHaveBeenNthCalledWith(1,new p().getApdu().getRawApdu()),await Promise.resolve(),expect(e.setDeviceStatus).toHaveBeenCalledWith(i.LOCKED)})})});
|
2
2
|
//# sourceMappingURL=DeviceSessionRefresher.test.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/device-session/model/DeviceSessionRefresher.test.ts"],
|
4
|
-
"sourcesContent": ["import { Left, Right } from \"purify-ts\";\n\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport {\n GetAppAndVersionCommand,\n type GetAppAndVersionResponse,\n} from \"@api/command/os/GetAppAndVersionCommand\";\nimport {\n GetOsVersionCommand,\n type GetOsVersionResponse,\n} from \"@api/command/os/GetOsVersionCommand\";\nimport { DeviceModelId } from \"@api/device/DeviceModel\";\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { DEVICE_SESSION_REFRESH_INTERVAL } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\n\nimport { DeviceSessionRefresher } from \"./DeviceSessionRefresher\";\n\nconst mockSendApduFn =
|
5
|
-
"mappings": "AAAA,OAAS,QAAAA,EAAM,SAAAC,MAAa,
|
4
|
+
"sourcesContent": ["import { Left, Right } from \"purify-ts\";\n\nimport { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport {\n GetAppAndVersionCommand,\n type GetAppAndVersionResponse,\n} from \"@api/command/os/GetAppAndVersionCommand\";\nimport {\n GetOsVersionCommand,\n type GetOsVersionResponse,\n} from \"@api/command/os/GetOsVersionCommand\";\nimport { DeviceModelId } from \"@api/device/DeviceModel\";\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { DEVICE_SESSION_REFRESH_INTERVAL } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\n\nimport { DeviceSessionRefresher } from \"./DeviceSessionRefresher\";\n\nconst mockSendApduFn = vi\n .fn()\n .mockResolvedValue(Promise.resolve(Right({} as ApduResponse)));\nconst mockUpdateStateFn = vi.fn().mockImplementation(() => undefined);\n\nvi.useFakeTimers();\n\ndescribe(\"DeviceSessionRefresher\", () => {\n let deviceSessionRefresher: DeviceSessionRefresher;\n let logger: LoggerPublisherService;\n\n beforeEach(() => {\n vi.spyOn(\n GetAppAndVersionCommand.prototype,\n \"parseResponse\",\n ).mockReturnValueOnce(\n CommandResultFactory({\n data: {\n name: \"testAppName\",\n } as GetAppAndVersionResponse,\n }),\n );\n vi.spyOn(\n GetOsVersionCommand.prototype,\n \"parseResponse\",\n ).mockReturnValueOnce(\n CommandResultFactory({\n data: {} as GetOsVersionResponse,\n }),\n );\n logger = new DefaultLoggerPublisherService(\n [],\n \"DeviceSessionRefresherTest\",\n );\n });\n\n describe(\"With a modern device\", () => {\n beforeEach(() => {\n const deviceIds = Object.values(DeviceModelId).filter(\n (id) => id !== DeviceModelId.NANO_S,\n );\n deviceSessionRefresher = new DeviceSessionRefresher(\n {\n refreshInterval: DEVICE_SESSION_REFRESH_INTERVAL,\n deviceStatus: DeviceStatus.CONNECTED,\n sendApduFn: mockSendApduFn,\n updateStateFn: mockUpdateStateFn,\n deviceModelId:\n deviceIds[Math.floor(Math.random() * deviceIds.length)]!,\n },\n logger,\n );\n });\n\n afterEach(() => {\n deviceSessionRefresher.stop();\n vi.clearAllMocks();\n });\n\n it(\"should poll by calling sendApduFn 2 times\", () => {\n vi.advanceTimersByTime(DEVICE_SESSION_REFRESH_INTERVAL * 2);\n expect(mockSendApduFn).toHaveBeenCalledTimes(2);\n });\n\n it(\"should not poll when device is busy\", () => {\n deviceSessionRefresher.setDeviceStatus(DeviceStatus.BUSY);\n\n vi.advanceTimersByTime(DEVICE_SESSION_REFRESH_INTERVAL);\n\n expect(mockSendApduFn).not.toHaveBeenCalled();\n });\n\n it(\"should not poll when device is disconnected\", () => {\n deviceSessionRefresher.setDeviceStatus(DeviceStatus.NOT_CONNECTED);\n\n vi.advanceTimersByTime(DEVICE_SESSION_REFRESH_INTERVAL);\n\n expect(mockSendApduFn).not.toHaveBeenCalled();\n });\n\n it(\"should update device session state by calling updateStateFn\", async () => {\n vi.advanceTimersByTime(DEVICE_SESSION_REFRESH_INTERVAL);\n\n await expect(mockSendApduFn()).resolves.toEqual(Right({}));\n expect(mockSendApduFn).toHaveBeenCalled();\n expect(mockUpdateStateFn).toHaveBeenCalled();\n });\n\n it(\"should not update device session state with failed polling response\", async () => {\n mockSendApduFn.mockResolvedValueOnce(Promise.resolve(Left(\"error\")));\n const spy = vi.spyOn(logger, \"error\");\n\n vi.advanceTimersByTime(DEVICE_SESSION_REFRESH_INTERVAL);\n await mockSendApduFn();\n\n await expect(mockUpdateStateFn).not.toHaveBeenCalled();\n expect(spy).toHaveBeenCalled();\n });\n\n it(\"should stop the refresher when device is disconnected\", () => {\n const spy = vi.spyOn(deviceSessionRefresher, \"stop\");\n deviceSessionRefresher.setDeviceStatus(DeviceStatus.NOT_CONNECTED);\n expect(spy).toHaveBeenCalledTimes(1);\n });\n\n it(\"should not throw error if stop is called on a stopped refresher\", () => {\n deviceSessionRefresher.stop();\n expect(() => deviceSessionRefresher.stop()).not.toThrow();\n });\n\n it(\"should not throw error if start is called on a started refresher\", () => {\n deviceSessionRefresher.start();\n expect(() => deviceSessionRefresher.start()).not.toThrow();\n });\n });\n\n describe(\"With a NanoS device\", () => {\n afterEach(() => {\n deviceSessionRefresher.stop();\n vi.clearAllMocks();\n });\n\n it(\"should call sendApduFn 2 times and update state 1 time for a single interval\", async () => {\n deviceSessionRefresher = new DeviceSessionRefresher(\n {\n refreshInterval: DEVICE_SESSION_REFRESH_INTERVAL,\n deviceStatus: DeviceStatus.CONNECTED,\n sendApduFn: mockSendApduFn,\n updateStateFn: mockUpdateStateFn,\n deviceModelId: DeviceModelId.NANO_S,\n },\n logger,\n );\n vi.advanceTimersByTime(DEVICE_SESSION_REFRESH_INTERVAL * 2 + 100);\n\n await Promise.resolve();\n expect(mockSendApduFn).toHaveBeenNthCalledWith(\n 1,\n new GetAppAndVersionCommand().getApdu().getRawApdu(),\n );\n await Promise.resolve();\n expect(mockSendApduFn).toHaveBeenLastCalledWith(\n new GetOsVersionCommand().getApdu().getRawApdu(),\n );\n await Promise.resolve();\n expect(mockSendApduFn).toHaveBeenCalledTimes(2);\n await Promise.resolve();\n expect(mockUpdateStateFn).toHaveBeenCalledTimes(1);\n });\n\n it(\"should set device locked when get os version times out\", async () => {\n mockSendApduFn.mockImplementation((apdu: Apdu) => {\n if (\n apdu.toString() ===\n new GetOsVersionCommand().getApdu().getRawApdu().toString()\n ) {\n return new Promise((resolve) =>\n setTimeout(\n () => resolve(Left(\"timeout\")),\n DEVICE_SESSION_REFRESH_INTERVAL * 10,\n ),\n );\n }\n return Promise.resolve(Right({}));\n });\n mockUpdateStateFn.mockImplementation(\n (getState: () => DeviceSessionState) => {\n deviceSessionRefresher.setDeviceStatus(getState().deviceStatus);\n },\n );\n deviceSessionRefresher = new DeviceSessionRefresher(\n {\n refreshInterval: DEVICE_SESSION_REFRESH_INTERVAL,\n deviceStatus: DeviceStatus.CONNECTED,\n sendApduFn: mockSendApduFn,\n updateStateFn: mockUpdateStateFn,\n deviceModelId: DeviceModelId.NANO_S,\n },\n logger,\n );\n vi.spyOn(deviceSessionRefresher, \"setDeviceStatus\");\n vi.advanceTimersByTime(DEVICE_SESSION_REFRESH_INTERVAL * 5 + 100);\n await Promise.resolve();\n expect(mockSendApduFn).toHaveBeenNthCalledWith(\n 1,\n new GetAppAndVersionCommand().getApdu().getRawApdu(),\n );\n await Promise.resolve();\n expect(deviceSessionRefresher.setDeviceStatus).toHaveBeenCalledWith(\n DeviceStatus.LOCKED,\n );\n });\n });\n});\n"],
|
5
|
+
"mappings": "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",
|
6
6
|
"names": ["Left", "Right", "CommandResultFactory", "GetAppAndVersionCommand", "GetOsVersionCommand", "DeviceModelId", "DeviceStatus", "DEVICE_SESSION_REFRESH_INTERVAL", "DefaultLoggerPublisherService", "DeviceSessionRefresher", "mockSendApduFn", "mockUpdateStateFn", "deviceSessionRefresher", "logger", "deviceIds", "id", "spy", "apdu", "resolve", "getState"]
|
7
7
|
}
|