@ledgerhq/device-management-kit 0.0.0-develop-20250106155719 → 0.0.0-webhid-20250124103640
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 +4 -1
- 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/DmkConfig.js +1 -1
- package/lib/cjs/src/api/DmkConfig.js.map +1 -1
- package/lib/cjs/src/api/command/model/CommandResult.js.map +1 -1
- 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 +2 -2
- package/lib/cjs/src/api/command/utils/CommandUtils.js +1 -1
- package/lib/cjs/src/api/command/utils/CommandUtils.js.map +2 -2
- 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/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/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +2 -2
- 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.js +1 -1
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +2 -2
- 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/OpenAppDeviceAction/types.js +1 -1
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js.map +1 -1
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js +1 -1
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js.map +1 -1
- package/lib/cjs/src/api/device-session/DeviceSessionState.js +1 -1
- package/lib/cjs/src/api/device-session/DeviceSessionState.js.map +2 -2
- package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +1 -1
- package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +2 -2
- package/lib/cjs/src/api/types.js.map +1 -1
- package/lib/cjs/src/di.js +1 -1
- package/lib/cjs/src/di.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/service/DefaultDeviceSessionService.test.js +1 -1
- package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +2 -2
- 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 +2 -2
- 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 +2 -2
- package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js +1 -1
- package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js.map +2 -2
- package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js.map +2 -2
- package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +2 -2
- package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +2 -2
- 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 +2 -2
- 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 +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/di/managerApiModule.test.js +1 -1
- package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
- package/lib/cjs/src/internal/manager-api/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/Params.js +2 -0
- package/lib/cjs/src/internal/manager-api/model/Params.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
- package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
- package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js.map +2 -2
- 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/esm/package.json +4 -1
- 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 +3 -3
- package/lib/esm/src/api/command/model/CommandResult.js.map +1 -1
- 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 +2 -2
- package/lib/esm/src/api/command/utils/CommandUtils.js +1 -1
- package/lib/esm/src/api/command/utils/CommandUtils.js.map +2 -2
- package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
- package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
- package/lib/esm/src/api/device-action/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/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +2 -2
- 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.js +1 -1
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +2 -2
- 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.js +1 -1
- package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
- package/lib/esm/src/api/device-session/DeviceSessionState.js.map +2 -2
- 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 +2 -2
- package/lib/esm/src/di.js +1 -1
- package/lib/esm/src/di.js.map +3 -3
- package/lib/esm/src/internal/device-session/model/DeviceSession.js +1 -1
- package/lib/esm/src/internal/device-session/model/DeviceSession.js.map +3 -3
- package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
- package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +2 -2
- 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 +2 -2
- 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 +2 -2
- package/lib/esm/src/internal/discovery/di/discoveryModule.test.js +1 -1
- package/lib/esm/src/internal/discovery/di/discoveryModule.test.js.map +2 -2
- package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js.map +2 -2
- package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +2 -2
- package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +2 -2
- 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 +2 -2
- 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 +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/di/managerApiModule.test.js +1 -1
- package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
- package/lib/esm/src/internal/manager-api/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/model/Params.js +1 -0
- package/lib/esm/src/internal/manager-api/model/Params.js.map +7 -0
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
- package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
- package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js.map +2 -2
- 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/types/src/api/DeviceManagementKitBuilder.d.ts.map +1 -1
- package/lib/types/src/api/DmkConfig.d.ts +1 -0
- package/lib/types/src/api/DmkConfig.d.ts.map +1 -1
- package/lib/types/src/api/command/model/CommandResult.d.ts +1 -2
- package/lib/types/src/api/command/model/CommandResult.d.ts.map +1 -1
- package/lib/types/src/api/device-action/DeviceAction.d.ts +1 -1
- package/lib/types/src/api/device-action/DeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts +1 -0
- package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts +1 -0
- package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts.map +1 -1
- package/lib/types/src/api/device-session/DeviceSessionState.d.ts +5 -0
- package/lib/types/src/api/device-session/DeviceSessionState.d.ts.map +1 -1
- package/lib/types/src/api/transport/model/Errors.d.ts +26 -26
- package/lib/types/src/api/transport/model/Errors.d.ts.map +1 -1
- package/lib/types/src/api/types.d.ts +1 -1
- package/lib/types/src/api/types.d.ts.map +1 -1
- package/lib/types/src/di.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/model/DeviceSession.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts +15 -5
- package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +70 -2
- 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 +6 -0
- 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 +1 -0
- 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 +6 -0
- package/lib/types/src/internal/manager-api/model/Errors.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/model/Params.d.ts +86 -0
- package/lib/types/src/internal/manager-api/model/Params.d.ts.map +1 -0
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +5 -2
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";var
|
1
|
+
"use strict";var c=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var _=(r,e)=>{for(var i in e)c(r,i,{get:e[i],enumerable:!0})},A=(r,e,i,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of g(e))!f.call(r,t)&&t!==i&&c(r,t,{get:()=>e[t],enumerable:!(o=h(e,t))||o.enumerable});return r};var E=r=>A(c({},"__esModule",{value:!0}),r);var y={};_(y,{DeviceSession:()=>C});module.exports=E(y);var a=require("purify-ts"),d=require("rxjs"),p=require("uuid"),v=require("../../../api/command/utils/CommandUtils"),s=require("../../../api/device/DeviceStatus"),u=require("../../../api/device-session/DeviceSessionState"),S=require("../../../api/Error"),D=require("../../device-session/data/DeviceSessionRefresherConst"),m=require("./DeviceSessionRefresher");class C{_id;_connectedDevice;_deviceState;_refresher;_managerApiService;constructor({connectedDevice:e,id:i=(0,p.v4)()},o,t){this._id=i,this._connectedDevice=e,this._deviceState=new d.BehaviorSubject({sessionStateType:u.DeviceSessionStateType.Connected,deviceStatus:s.DeviceStatus.CONNECTED,deviceModelId:this._connectedDevice.deviceModel.id}),this._refresher=new m.DeviceSessionRefresher({refreshInterval:D.DEVICE_SESSION_REFRESH_INTERVAL,deviceStatus:s.DeviceStatus.CONNECTED,deviceModelId:this._connectedDevice.deviceModel.id,sendApduFn:n=>this.sendApdu(n,{isPolling:!0,triggersDisconnection:!1}),updateStateFn:n=>{const l=this._deviceState.getValue();this.setDeviceSessionState(n(l))}},o("device-session-refresher")),this._managerApiService=t}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 i=this._deviceState.getValue();this._refresher.setDeviceStatus(e),this._deviceState.next({...i,deviceStatus:e})}async sendApdu(e,i={isPolling:!1,triggersDisconnection:!1}){return this._deviceState.getValue().deviceStatus===s.DeviceStatus.BUSY?(0,a.Left)(new S.DeviceBusyError):(i.isPolling||this.updateDeviceStatus(s.DeviceStatus.BUSY),(await this._connectedDevice.sendApdu(e,i.triggersDisconnection)).ifRight(n=>{v.CommandUtils.isLockedDeviceResponse(n)?this.updateDeviceStatus(s.DeviceStatus.LOCKED):this.updateDeviceStatus(s.DeviceStatus.CONNECTED)}).ifLeft(()=>{this.updateDeviceStatus(s.DeviceStatus.CONNECTED)}))}async sendCommand(e){const i=e.getApdu();return(await this.sendApdu(i.getRawApdu(),{isPolling:!1,triggersDisconnection:e.triggersDisconnection??!1})).caseOf({Left:t=>{throw t},Right:t=>e.parseResponse(t,this._connectedDevice.deviceModel.id)})}executeDeviceAction(e){const{observable:i,cancel:o}=e._execute({sendCommand:async t=>this.sendCommand(t),getDeviceSessionState:()=>this._deviceState.getValue(),getDeviceSessionStateObservable:()=>this.state,setDeviceSessionState:t=>(this.setDeviceSessionState(t),this._deviceState.getValue()),getManagerApiService:()=>this._managerApiService});return{observable:i,cancel:o}}close(){this.updateDeviceStatus(s.DeviceStatus.NOT_CONNECTED),this._deviceState.complete(),this._refresher.stop()}toggleRefresher(e){e?this._refresher.start():this._refresher.stop()}}0&&(module.exports={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 {
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAkC,qBAClCC,EAAgC,gBAChCC,EAA6B,
|
6
|
-
"names": ["DeviceSession_exports", "__export", "DeviceSession", "__toCommonJS", "import_purify_ts", "import_rxjs", "import_uuid", "import_CommandUtils", "import_DeviceStatus", "import_DeviceSessionState", "import_Error", "import_DeviceSessionRefresherConst", "import_DeviceSessionRefresher", "connectedDevice", "id", "uuidv4", "loggerModuleFactory", "managerApiService", "rawApdu", "callback", "state", "deviceStatus", "sessionState", "options", "response", "command", "apdu", "err", "r", "deviceAction", "observable", "cancel", "
|
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: {\n isPolling: boolean;\n triggersDisconnection: boolean;\n } = {\n isPolling: false,\n triggersDisconnection: false,\n },\n ): Promise<Either<DmkError, ApduResponse>> {\n const sessionState = this._deviceState.getValue();\n if (sessionState.deviceStatus === DeviceStatus.BUSY) {\n return Left(new DeviceBusyError());\n }\n\n if (!options.isPolling) 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 .ifLeft(() => {\n this.updateDeviceStatus(DeviceStatus.CONNECTED);\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 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 });\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": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAkC,qBAClCC,EAAgC,gBAChCC,EAA6B,gBAI7BC,EAA6B,2CAC7BC,EAA6B,oCAO7BC,EAGO,kDAEPC,EAA+C,sBAG/CC,EAAgD,qEAGhDC,EAAuC,oCAUhC,MAAMV,CAAc,CACR,IACA,iBACA,aACA,WACA,mBAEjB,YACE,CAAE,gBAAAW,EAAiB,GAAAC,KAAK,EAAAC,IAAO,CAAE,EACjCC,EACAC,EACA,CACA,KAAK,IAAMH,EACX,KAAK,iBAAmBD,EACxB,KAAK,aAAe,IAAI,kBAAoC,CAC1D,iBAAkB,yBAAuB,UACzC,aAAc,eAAa,UAC3B,cAAe,KAAK,iBAAiB,YAAY,EACnD,CAAC,EACD,KAAK,WAAa,IAAI,yBACpB,CACE,gBAAiB,kCACjB,aAAc,eAAa,UAC3B,cAAe,KAAK,iBAAiB,YAAY,GACjD,WAAaK,GACX,KAAK,SAASA,EAAS,CACrB,UAAW,GACX,sBAAuB,EACzB,CAAC,EACH,cAAgBC,GAAa,CAC3B,MAAMC,EAAQ,KAAK,aAAa,SAAS,EACzC,KAAK,sBAAsBD,EAASC,CAAK,CAAC,CAC5C,CACF,EACAJ,EAAoB,0BAA0B,CAChD,EACA,KAAK,mBAAqBC,CAC5B,CAEA,IAAW,IAAK,CACd,OAAO,KAAK,GACd,CAEA,IAAW,iBAAkB,CAC3B,OAAO,KAAK,gBACd,CAEA,IAAW,OAAQ,CACjB,OAAO,KAAK,aAAa,aAAa,CACxC,CAEO,sBAAsBG,EAA2B,CACtD,KAAK,aAAa,KAAKA,CAAK,CAC9B,CAEQ,mBAAmBC,EAA4B,CACrD,MAAMC,EAAe,KAAK,aAAa,SAAS,EAChD,KAAK,WAAW,gBAAgBD,CAAY,EAC5C,KAAK,aAAa,KAAK,CACrB,GAAGC,EACH,aAAAD,CACF,CAAC,CACH,CAEA,MAAM,SACJH,EACAK,EAGI,CACF,UAAW,GACX,sBAAuB,EACzB,EACyC,CAEzC,OADqB,KAAK,aAAa,SAAS,EAC/B,eAAiB,eAAa,QACtC,QAAK,IAAI,iBAAiB,GAG9BA,EAAQ,WAAW,KAAK,mBAAmB,eAAa,IAAI,GAEzC,MAAM,KAAK,iBAAiB,SAClDL,EACAK,EAAQ,qBACV,GAGG,QAASC,GAA2B,CAC/B,eAAa,uBAAuBA,CAAQ,EAC9C,KAAK,mBAAmB,eAAa,MAAM,EAE3C,KAAK,mBAAmB,eAAa,SAAS,CAElD,CAAC,EACA,OAAO,IAAM,CACZ,KAAK,mBAAmB,eAAa,SAAS,CAChD,CAAC,EACL,CAEA,MAAM,YACJC,EACoD,CACpD,MAAMC,EAAOD,EAAQ,QAAQ,EAM7B,OALiB,MAAM,KAAK,SAASC,EAAK,WAAW,EAAG,CACtD,UAAW,GACX,sBAAuBD,EAAQ,uBAAyB,EAC1D,CAAC,GAEe,OAAO,CACrB,KAAOE,GAAQ,CACb,MAAMA,CACR,EACA,MAAQC,GACNH,EAAQ,cAAcG,EAAG,KAAK,iBAAiB,YAAY,EAAE,CACjE,CAAC,CACH,CAEA,oBAMEC,EACiE,CACjE,KAAM,CAAE,WAAAC,EAAY,OAAAC,CAAO,EAAIF,EAAa,SAAS,CACnD,YAAa,MACXJ,GACG,KAAK,YAAYA,CAAO,EAC7B,sBAAuB,IAAM,KAAK,aAAa,SAAS,EACxD,gCAAiC,IAAM,KAAK,MAC5C,sBAAwBL,IACtB,KAAK,sBAAsBA,CAAK,EACzB,KAAK,aAAa,SAAS,GAEpC,qBAAsB,IAAM,KAAK,kBACnC,CAAC,EAED,MAAO,CACL,WAAAU,EACA,OAAAC,CACF,CACF,CAEA,OAAQ,CACN,KAAK,mBAAmB,eAAa,aAAa,EAClD,KAAK,aAAa,SAAS,EAC3B,KAAK,WAAW,KAAK,CACvB,CAEA,gBAAgBC,EAAkB,CAC5BA,EACF,KAAK,WAAW,MAAM,EAEtB,KAAK,WAAW,KAAK,CAEzB,CACF",
|
6
|
+
"names": ["DeviceSession_exports", "__export", "DeviceSession", "__toCommonJS", "import_purify_ts", "import_rxjs", "import_uuid", "import_CommandUtils", "import_DeviceStatus", "import_DeviceSessionState", "import_Error", "import_DeviceSessionRefresherConst", "import_DeviceSessionRefresher", "connectedDevice", "id", "uuidv4", "loggerModuleFactory", "managerApiService", "rawApdu", "callback", "state", "deviceStatus", "sessionState", "options", "response", "command", "apdu", "err", "r", "deviceAction", "observable", "cancel", "enabled"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";var
|
1
|
+
"use strict";var n=require("purify-ts"),v=require("rxjs"),c=require("../../device-session/model/DeviceSession.stub"),S=require("../../device-session/model/Errors"),l=require("../../logger-publisher/service/DefaultLoggerPublisherService"),u=require("../../manager-api/data/AxiosManagerApiDataSource"),p=require("../../manager-api/service/DefaultManagerApiService"),D=require("./DefaultDeviceSessionService");jest.mock("@internal/logger-publisher/service/DefaultLoggerPublisherService");jest.mock("@internal/manager-api/data/AxiosManagerApiDataSource");let e,t,s,a,d;describe("DefaultDeviceSessionService",()=>{beforeEach(()=>{jest.restoreAllMocks(),t=new l.DefaultLoggerPublisherService([],"deviceSession"),e=new D.DefaultDeviceSessionService(()=>t),d=new u.AxiosManagerApiDataSource({}),a=new p.DefaultManagerApiService(d),s=(0,c.deviceSessionStubBuilder)({},()=>t,a)}),afterEach(()=>{s.close()}),it("should have an empty sessions list",()=>{expect(e.getDeviceSessions()).toEqual([])}),it("should add a deviceSession",()=>{e.addDeviceSession(s),expect(e.getDeviceSessions()).toEqual([s])}),it("should not add a deviceSession if it already exists",()=>{e.addDeviceSession(s),e.addDeviceSession(s),expect(e.getDeviceSessions()).toEqual([s])}),it("should remove a deviceSession",()=>{e.addDeviceSession(s),e.removeDeviceSession(s.id),expect(e.getDeviceSessions()).toEqual([])}),it("should not remove a deviceSession if it does not exist",()=>{e.removeDeviceSession(s.id),expect(e.getDeviceSessions()).toEqual([])}),it("should get a deviceSession",()=>{e.addDeviceSession(s),expect(e.getDeviceSessionById(s.id)).toEqual(n.Either.of(s))}),it("should not get a deviceSession if it does not exist",()=>{expect(e.getDeviceSessionById(s.id)).toEqual((0,n.Left)(new S.DeviceSessionNotFound))}),it("should get all sessions",()=>{e.addDeviceSession(s),expect(e.getDeviceSessions()).toEqual([s])}),it("should retrieve sessionObs",()=>{expect(e.sessionsObs).toBeInstanceOf(v.Observable)}),it("should emit new session",i=>{const o=e.sessionsObs.subscribe({next(r){expect(r).toStrictEqual(s),o.unsubscribe(),i()}});e.addDeviceSession(s)}),it("should emit previous added session",()=>{const i=(0,c.deviceSessionStubBuilder)({id:"last-session"},()=>t,a),o=[];e.addDeviceSession(s),e.addDeviceSession(i);const r=e.sessionsObs.subscribe({next(m){o.push(m)}});i.close(),expect(o).toEqual([s,i]),r.unsubscribe()})});
|
2
2
|
//# sourceMappingURL=DefaultDeviceSessionService.test.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/device-session/service/DefaultDeviceSessionService.test.ts"],
|
4
|
-
"sourcesContent": ["import { Either, Left } from \"purify-ts\";\nimport { Observable } from \"rxjs\";\n\nimport { type DeviceSession } from \"@internal/device-session/model/DeviceSession\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport type { ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nimport { DefaultDeviceSessionService } from \"./DefaultDeviceSessionService\";\n\njest.mock(\"@internal/logger-publisher/service/DefaultLoggerPublisherService\");\njest.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\n\nlet sessionService: DefaultDeviceSessionService;\nlet loggerService: DefaultLoggerPublisherService;\nlet deviceSession: DeviceSession;\nlet managerApi: ManagerApiService;\nlet managerApiDataSource: ManagerApiDataSource;\ndescribe(\"DefaultDeviceSessionService\", () => {\n beforeEach(() => {\n jest.restoreAllMocks();\n loggerService = new DefaultLoggerPublisherService([], \"deviceSession\");\n sessionService = new DefaultDeviceSessionService(() => loggerService);\n managerApiDataSource = new AxiosManagerApiDataSource({
|
5
|
-
"mappings": "aAAA,IAAAA,EAA6B,qBAC7BC,EAA2B,
|
4
|
+
"sourcesContent": ["import { Either, Left } from \"purify-ts\";\nimport { Observable } from \"rxjs\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { type DeviceSession } from \"@internal/device-session/model/DeviceSession\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport type { ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nimport { DefaultDeviceSessionService } from \"./DefaultDeviceSessionService\";\n\njest.mock(\"@internal/logger-publisher/service/DefaultLoggerPublisherService\");\njest.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\n\nlet sessionService: DefaultDeviceSessionService;\nlet loggerService: DefaultLoggerPublisherService;\nlet deviceSession: DeviceSession;\nlet managerApi: ManagerApiService;\nlet managerApiDataSource: ManagerApiDataSource;\ndescribe(\"DefaultDeviceSessionService\", () => {\n beforeEach(() => {\n jest.restoreAllMocks();\n loggerService = new DefaultLoggerPublisherService([], \"deviceSession\");\n sessionService = new DefaultDeviceSessionService(() => loggerService);\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n\n deviceSession = deviceSessionStubBuilder(\n {},\n () => loggerService,\n managerApi,\n );\n });\n\n afterEach(() => {\n deviceSession.close();\n });\n\n it(\"should have an empty sessions list\", () => {\n expect(sessionService.getDeviceSessions()).toEqual([]);\n });\n\n it(\"should add a deviceSession\", () => {\n sessionService.addDeviceSession(deviceSession);\n expect(sessionService.getDeviceSessions()).toEqual([deviceSession]);\n });\n\n it(\"should not add a deviceSession if it already exists\", () => {\n sessionService.addDeviceSession(deviceSession);\n sessionService.addDeviceSession(deviceSession);\n expect(sessionService.getDeviceSessions()).toEqual([deviceSession]);\n });\n\n it(\"should remove a deviceSession\", () => {\n sessionService.addDeviceSession(deviceSession);\n sessionService.removeDeviceSession(deviceSession.id);\n expect(sessionService.getDeviceSessions()).toEqual([]);\n });\n\n it(\"should not remove a deviceSession if it does not exist\", () => {\n sessionService.removeDeviceSession(deviceSession.id);\n expect(sessionService.getDeviceSessions()).toEqual([]);\n });\n\n it(\"should get a deviceSession\", () => {\n sessionService.addDeviceSession(deviceSession);\n expect(sessionService.getDeviceSessionById(deviceSession.id)).toEqual(\n Either.of(deviceSession),\n );\n });\n\n it(\"should not get a deviceSession if it does not exist\", () => {\n expect(sessionService.getDeviceSessionById(deviceSession.id)).toEqual(\n Left(new DeviceSessionNotFound()),\n );\n });\n\n it(\"should get all sessions\", () => {\n sessionService.addDeviceSession(deviceSession);\n expect(sessionService.getDeviceSessions()).toEqual([deviceSession]);\n });\n\n it(\"should retrieve sessionObs\", () => {\n expect(sessionService.sessionsObs).toBeInstanceOf(\n Observable<DeviceSession>,\n );\n });\n\n it(\"should emit new session\", (done) => {\n const subscription = sessionService.sessionsObs.subscribe({\n next(emittedDeviceSession) {\n expect(emittedDeviceSession).toStrictEqual(deviceSession);\n subscription.unsubscribe();\n done();\n },\n });\n sessionService.addDeviceSession(deviceSession);\n });\n\n it(\"should emit previous added session\", () => {\n const lastDeviceSession = deviceSessionStubBuilder(\n { id: \"last-session\" },\n () => loggerService,\n managerApi,\n );\n const emittedSessions: DeviceSession[] = [];\n sessionService.addDeviceSession(deviceSession);\n sessionService.addDeviceSession(lastDeviceSession);\n\n const subscription = sessionService.sessionsObs.subscribe({\n next(emittedDeviceSession) {\n emittedSessions.push(emittedDeviceSession);\n },\n });\n lastDeviceSession.close();\n expect(emittedSessions).toEqual([deviceSession, lastDeviceSession]);\n subscription.unsubscribe();\n });\n});\n"],
|
5
|
+
"mappings": "aAAA,IAAAA,EAA6B,qBAC7BC,EAA2B,gBAI3BC,EAAyC,6DACzCC,EAAsC,iDACtCC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAGzCC,EAA4C,yCAE5C,KAAK,KAAK,kEAAkE,EAC5E,KAAK,KAAK,sDAAsD,EAEhE,IAAIC,EACAC,EACAC,EACAC,EACAC,EACJ,SAAS,8BAA+B,IAAM,CAC5C,WAAW,IAAM,CACf,KAAK,gBAAgB,EACrBH,EAAgB,IAAI,gCAA8B,CAAC,EAAG,eAAe,EACrED,EAAiB,IAAI,8BAA4B,IAAMC,CAAa,EACpEG,EAAuB,IAAI,4BAA0B,CAAC,CAAc,EACpED,EAAa,IAAI,2BAAyBC,CAAoB,EAE9DF,KAAgB,4BACd,CAAC,EACD,IAAMD,EACNE,CACF,CACF,CAAC,EAED,UAAU,IAAM,CACdD,EAAc,MAAM,CACtB,CAAC,EAED,GAAG,qCAAsC,IAAM,CAC7C,OAAOF,EAAe,kBAAkB,CAAC,EAAE,QAAQ,CAAC,CAAC,CACvD,CAAC,EAED,GAAG,6BAA8B,IAAM,CACrCA,EAAe,iBAAiBE,CAAa,EAC7C,OAAOF,EAAe,kBAAkB,CAAC,EAAE,QAAQ,CAACE,CAAa,CAAC,CACpE,CAAC,EAED,GAAG,sDAAuD,IAAM,CAC9DF,EAAe,iBAAiBE,CAAa,EAC7CF,EAAe,iBAAiBE,CAAa,EAC7C,OAAOF,EAAe,kBAAkB,CAAC,EAAE,QAAQ,CAACE,CAAa,CAAC,CACpE,CAAC,EAED,GAAG,gCAAiC,IAAM,CACxCF,EAAe,iBAAiBE,CAAa,EAC7CF,EAAe,oBAAoBE,EAAc,EAAE,EACnD,OAAOF,EAAe,kBAAkB,CAAC,EAAE,QAAQ,CAAC,CAAC,CACvD,CAAC,EAED,GAAG,yDAA0D,IAAM,CACjEA,EAAe,oBAAoBE,EAAc,EAAE,EACnD,OAAOF,EAAe,kBAAkB,CAAC,EAAE,QAAQ,CAAC,CAAC,CACvD,CAAC,EAED,GAAG,6BAA8B,IAAM,CACrCA,EAAe,iBAAiBE,CAAa,EAC7C,OAAOF,EAAe,qBAAqBE,EAAc,EAAE,CAAC,EAAE,QAC5D,SAAO,GAAGA,CAAa,CACzB,CACF,CAAC,EAED,GAAG,sDAAuD,IAAM,CAC9D,OAAOF,EAAe,qBAAqBE,EAAc,EAAE,CAAC,EAAE,WAC5D,QAAK,IAAI,uBAAuB,CAClC,CACF,CAAC,EAED,GAAG,0BAA2B,IAAM,CAClCF,EAAe,iBAAiBE,CAAa,EAC7C,OAAOF,EAAe,kBAAkB,CAAC,EAAE,QAAQ,CAACE,CAAa,CAAC,CACpE,CAAC,EAED,GAAG,6BAA8B,IAAM,CACrC,OAAOF,EAAe,WAAW,EAAE,eACjC,YACF,CACF,CAAC,EAED,GAAG,0BAA4BK,GAAS,CACtC,MAAMC,EAAeN,EAAe,YAAY,UAAU,CACxD,KAAKO,EAAsB,CACzB,OAAOA,CAAoB,EAAE,cAAcL,CAAa,EACxDI,EAAa,YAAY,EACzBD,EAAK,CACP,CACF,CAAC,EACDL,EAAe,iBAAiBE,CAAa,CAC/C,CAAC,EAED,GAAG,qCAAsC,IAAM,CAC7C,MAAMM,KAAoB,4BACxB,CAAE,GAAI,cAAe,EACrB,IAAMP,EACNE,CACF,EACMM,EAAmC,CAAC,EAC1CT,EAAe,iBAAiBE,CAAa,EAC7CF,EAAe,iBAAiBQ,CAAiB,EAEjD,MAAMF,EAAeN,EAAe,YAAY,UAAU,CACxD,KAAKO,EAAsB,CACzBE,EAAgB,KAAKF,CAAoB,CAC3C,CACF,CAAC,EACDC,EAAkB,MAAM,EACxB,OAAOC,CAAe,EAAE,QAAQ,CAACP,EAAeM,CAAiB,CAAC,EAClEF,EAAa,YAAY,CAC3B,CAAC,CACH,CAAC",
|
6
6
|
"names": ["import_purify_ts", "import_rxjs", "import_DeviceSession", "import_Errors", "import_DefaultLoggerPublisherService", "import_AxiosManagerApiDataSource", "import_DefaultManagerApiService", "import_DefaultDeviceSessionService", "sessionService", "loggerService", "deviceSession", "managerApi", "managerApiDataSource", "done", "subscription", "emittedDeviceSession", "lastDeviceSession", "emittedSessions"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";var
|
1
|
+
"use strict";var n=require("../../device-session/model/DeviceSession.stub"),c=require("../../device-session/service/DefaultDeviceSessionService"),m=require("../../device-session/use-case/CloseSessionsUseCase"),p=require("../../logger-publisher/service/DefaultLoggerPublisherService"),S=require("../../manager-api/data/AxiosManagerApiDataSource"),l=require("../../manager-api/service/DefaultManagerApiService");let s,a,t,r;describe("CloseSessionsUseCase",()=>{beforeEach(()=>{s=new p.DefaultLoggerPublisherService([],"close-sessions-use-case-test"),a=new S.AxiosManagerApiDataSource({}),t=new l.DefaultManagerApiService(a),r=new c.DefaultDeviceSessionService(()=>s)}),it("should be able to close every session",()=>{const o=[...Array(10).keys()].map(e=>{const i=(0,n.deviceSessionStubBuilder)({id:e.toString()},()=>s,t);return jest.spyOn(i,"close"),i});o.forEach(e=>r.addDeviceSession(e)),new m.CloseSessionsUseCase(r).execute(),o.forEach(e=>{expect(e.close).toHaveBeenCalled()})})});
|
2
2
|
//# sourceMappingURL=CloseSessionsUseCase.test.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/device-session/use-case/CloseSessionsUseCase.test.ts"],
|
4
|
-
"sourcesContent": ["import { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { CloseSessionsUseCase } from \"@internal/device-session/use-case/CloseSessionsUseCase\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nlet logger: LoggerPublisherService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet sessionService: DeviceSessionService;\n\ndescribe(\"CloseSessionsUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"close-sessions-use-case-test\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({
|
5
|
-
"mappings": "
|
4
|
+
"sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { CloseSessionsUseCase } from \"@internal/device-session/use-case/CloseSessionsUseCase\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nlet logger: LoggerPublisherService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet sessionService: DeviceSessionService;\n\ndescribe(\"CloseSessionsUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"close-sessions-use-case-test\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n it(\"should be able to close every session\", () => {\n //given\n const sessions = [...Array(10).keys()].map((id) => {\n const session = deviceSessionStubBuilder(\n { id: id.toString() },\n () => logger,\n managerApi,\n );\n jest.spyOn(session, \"close\");\n return session;\n });\n sessions.forEach((session) => sessionService.addDeviceSession(session));\n const useCase = new CloseSessionsUseCase(sessionService);\n //when\n useCase.execute();\n //then\n sessions.forEach((session) => {\n expect(session.close).toHaveBeenCalled();\n });\n });\n});\n"],
|
5
|
+
"mappings": "aAEA,IAAAA,EAAyC,6DACzCC,EAA4C,wEAE5CC,EAAqC,kEACrCC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAGzC,IAAIC,EACAC,EACAC,EACAC,EAEJ,SAAS,uBAAwB,IAAM,CACrC,WAAW,IAAM,CACfH,EAAS,IAAI,gCACX,CAAC,EACD,8BACF,EACAC,EAAuB,IAAI,4BAA0B,CAAC,CAAc,EACpEC,EAAa,IAAI,2BAAyBD,CAAoB,EAC9DE,EAAiB,IAAI,8BAA4B,IAAMH,CAAM,CAC/D,CAAC,EAED,GAAG,wCAAyC,IAAM,CAEhD,MAAMI,EAAW,CAAC,GAAG,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,IAAKC,GAAO,CACjD,MAAMC,KAAU,4BACd,CAAE,GAAID,EAAG,SAAS,CAAE,EACpB,IAAML,EACNE,CACF,EACA,YAAK,MAAMI,EAAS,OAAO,EACpBA,CACT,CAAC,EACDF,EAAS,QAASE,GAAYH,EAAe,iBAAiBG,CAAO,CAAC,EACtD,IAAI,uBAAqBH,CAAc,EAE/C,QAAQ,EAEhBC,EAAS,QAASE,GAAY,CAC5B,OAAOA,EAAQ,KAAK,EAAE,iBAAiB,CACzC,CAAC,CACH,CAAC,CACH,CAAC",
|
6
6
|
"names": ["import_DeviceSession", "import_DefaultDeviceSessionService", "import_CloseSessionsUseCase", "import_DefaultLoggerPublisherService", "import_AxiosManagerApiDataSource", "import_DefaultManagerApiService", "logger", "managerApiDataSource", "managerApi", "sessionService", "sessions", "id", "session"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";var S=require("../../device-session/model/DeviceSession.stub"),
|
1
|
+
"use strict";var S=require("../../device-session/model/DeviceSession.stub"),m=require("../../device-session/model/Errors"),p=require("../../device-session/service/DefaultDeviceSessionService"),u=require("../../logger-publisher/service/DefaultLoggerPublisherService"),v=require("../../manager-api/data/AxiosManagerApiDataSource"),d=require("../../manager-api/service/DefaultManagerApiService"),t=require("./GetDeviceSessionStateUseCase");jest.mock("@internal/manager-api/data/AxiosManagerApiDataSource");let i,o,c,n;const s="fakeSessionId";describe("GetDeviceSessionStateUseCase",()=>{beforeEach(()=>{i=new u.DefaultLoggerPublisherService([],"get-connected-device-use-case-test"),c=new v.AxiosManagerApiDataSource({}),n=new d.DefaultManagerApiService(c),o=new p.DefaultDeviceSessionService(()=>i)}),it("should retrieve deviceSession device state",()=>{const e=(0,S.deviceSessionStubBuilder)({id:s},()=>i,n);o.addDeviceSession(e);const r=new t.GetDeviceSessionStateUseCase(o,()=>i).execute({sessionId:s}),f=e.state;e.close(),expect(r).toStrictEqual(f)}),it("should throw error when deviceSession is not found",e=>{const a=new t.GetDeviceSessionStateUseCase(o,()=>i);try{a.execute({sessionId:s}).subscribe()}catch(r){expect(r).toBeInstanceOf(m.DeviceSessionNotFound),e()}})});
|
2
2
|
//# sourceMappingURL=GetDeviceSessionStateUseCase.test.js.map
|
package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.ts"],
|
4
|
-
"sourcesContent": ["import { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nimport { GetDeviceSessionStateUseCase } from \"./GetDeviceSessionStateUseCase\";\n\njest.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\n\nconst fakeSessionId = \"fakeSessionId\";\n\ndescribe(\"GetDeviceSessionStateUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"get-connected-device-use-case-test\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({
|
5
|
-
"mappings": "
|
4
|
+
"sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nimport { GetDeviceSessionStateUseCase } from \"./GetDeviceSessionStateUseCase\";\n\njest.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\n\nconst fakeSessionId = \"fakeSessionId\";\n\ndescribe(\"GetDeviceSessionStateUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"get-connected-device-use-case-test\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n // TODO: This test does not close a subscription\n // \u00AF\\_(\u30C4)_/\u00AF I cannot find which one unfortunatly\n it(\"should retrieve deviceSession device state\", () => {\n // given\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId },\n () => logger,\n managerApi,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new GetDeviceSessionStateUseCase(\n sessionService,\n () => logger,\n );\n\n const res = useCase.execute({ sessionId: fakeSessionId });\n const expected = deviceSession.state;\n\n deviceSession.close();\n\n // then\n expect(res).toStrictEqual(expected);\n });\n\n it(\"should throw error when deviceSession is not found\", (done) => {\n // given\n const useCase = new GetDeviceSessionStateUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n try {\n useCase\n .execute({\n sessionId: fakeSessionId,\n })\n .subscribe();\n } catch (error) {\n // then\n expect(error).toBeInstanceOf(DeviceSessionNotFound);\n done();\n }\n });\n});\n"],
|
5
|
+
"mappings": "aAEA,IAAAA,EAAyC,6DACzCC,EAAsC,iDACtCC,EAA4C,wEAE5CC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAGzCC,EAA6C,0CAE7C,KAAK,KAAK,sDAAsD,EAEhE,IAAIC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAgB,gBAEtB,SAAS,+BAAgC,IAAM,CAC7C,WAAW,IAAM,CACfJ,EAAS,IAAI,gCACX,CAAC,EACD,oCACF,EACAE,EAAuB,IAAI,4BAA0B,CAAC,CAAc,EACpEC,EAAa,IAAI,2BAAyBD,CAAoB,EAC9DD,EAAiB,IAAI,8BAA4B,IAAMD,CAAM,CAC/D,CAAC,EAID,GAAG,6CAA8C,IAAM,CAErD,MAAMK,KAAgB,4BACpB,CAAE,GAAID,CAAc,EACpB,IAAMJ,EACNG,CACF,EACAF,EAAe,iBAAiBI,CAAa,EAM7C,MAAMC,EALU,IAAI,+BAClBL,EACA,IAAMD,CACR,EAEoB,QAAQ,CAAE,UAAWI,CAAc,CAAC,EAClDG,EAAWF,EAAc,MAE/BA,EAAc,MAAM,EAGpB,OAAOC,CAAG,EAAE,cAAcC,CAAQ,CACpC,CAAC,EAED,GAAG,qDAAuDC,GAAS,CAEjE,MAAMC,EAAU,IAAI,+BAClBR,EACA,IAAMD,CACR,EAGA,GAAI,CACFS,EACG,QAAQ,CACP,UAAWL,CACb,CAAC,EACA,UAAU,CACf,OAASM,EAAO,CAEd,OAAOA,CAAK,EAAE,eAAe,uBAAqB,EAClDF,EAAK,CACP,CACF,CAAC,CACH,CAAC",
|
6
6
|
"names": ["import_DeviceSession", "import_Errors", "import_DefaultDeviceSessionService", "import_DefaultLoggerPublisherService", "import_AxiosManagerApiDataSource", "import_DefaultManagerApiService", "import_GetDeviceSessionStateUseCase", "logger", "sessionService", "managerApiDataSource", "managerApi", "fakeSessionId", "deviceSession", "res", "expected", "done", "useCase", "error"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";var r=require("inversify"),n=require("../../../api/transport/model/__mocks__/TransportMock"),c=require("../../device-model/di/deviceModelModule"),i=require("../../device-session/di/deviceSessionModule"),a=require("../../discovery/use-case/ConnectUseCase"),m=require("../../discovery/use-case/DisconnectUseCase"),p=require("../../discovery/use-case/ListConnectedDevicesUseCase"),f=require("../../discovery/use-case/ListenToKnownDevicesUseCase"),d=require("../../discovery/use-case/StartDiscoveringUseCase"),l=require("../../discovery/use-case/StopDiscoveringUseCase"),C=require("../../logger-publisher/di/loggerModule"),U=require("../../manager-api/di/managerApiModule"),u=require("../../transport/di/transportModule"),v=require("./discoveryModule"),o=require("./discoveryTypes");describe("discoveryModuleFactory",()=>{let e,t,s;beforeEach(()=>{t=(0,v.discoveryModuleFactory)({stub:!1}),e=new r.Container,s=new n.TransportMock,e.load(t,(0,C.loggerModuleFactory)(),(0,c.deviceModelModuleFactory)({stub:!1}),(0,i.deviceSessionModuleFactory)(),(0,u.transportModuleFactory)({transports:[jest.fn().mockImplementation(()=>s)]}),(0,U.managerApiModuleFactory)({config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url"}}))}),it("should return the device module",()=>{expect(t).toBeDefined()}),it("should return none mocked use cases",()=>{const g=e.get(o.discoveryTypes.StartDiscoveringUseCase);expect(g).toBeInstanceOf(d.StartDiscoveringUseCase);const y=e.get(o.discoveryTypes.StopDiscoveringUseCase);expect(y).toBeInstanceOf(l.StopDiscoveringUseCase);const D=e.get(o.discoveryTypes.DisconnectUseCase);expect(D).toBeInstanceOf(m.DisconnectUseCase);const
|
1
|
+
"use strict";var r=require("inversify"),n=require("../../../api/transport/model/__mocks__/TransportMock"),c=require("../../device-model/di/deviceModelModule"),i=require("../../device-session/di/deviceSessionModule"),a=require("../../discovery/use-case/ConnectUseCase"),m=require("../../discovery/use-case/DisconnectUseCase"),p=require("../../discovery/use-case/ListConnectedDevicesUseCase"),f=require("../../discovery/use-case/ListenToKnownDevicesUseCase"),d=require("../../discovery/use-case/StartDiscoveringUseCase"),l=require("../../discovery/use-case/StopDiscoveringUseCase"),C=require("../../logger-publisher/di/loggerModule"),U=require("../../manager-api/di/managerApiModule"),u=require("../../transport/di/transportModule"),v=require("./discoveryModule"),o=require("./discoveryTypes");describe("discoveryModuleFactory",()=>{let e,t,s;beforeEach(()=>{t=(0,v.discoveryModuleFactory)({stub:!1}),e=new r.Container,s=new n.TransportMock,e.load(t,(0,C.loggerModuleFactory)(),(0,c.deviceModelModuleFactory)({stub:!1}),(0,i.deviceSessionModuleFactory)(),(0,u.transportModuleFactory)({transports:[jest.fn().mockImplementation(()=>s)]}),(0,U.managerApiModuleFactory)({config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url",webSocketUrl:"http://fake-websocket.url"}}))}),it("should return the device module",()=>{expect(t).toBeDefined()}),it("should return none mocked use cases",()=>{const g=e.get(o.discoveryTypes.StartDiscoveringUseCase);expect(g).toBeInstanceOf(d.StartDiscoveringUseCase);const y=e.get(o.discoveryTypes.StopDiscoveringUseCase);expect(y).toBeInstanceOf(l.StopDiscoveringUseCase);const D=e.get(o.discoveryTypes.DisconnectUseCase);expect(D).toBeInstanceOf(m.DisconnectUseCase);const k=e.get(o.discoveryTypes.ConnectUseCase);expect(k).toBeInstanceOf(a.ConnectUseCase);const M=e.get(o.discoveryTypes.ListenToKnownDevicesUseCase);expect(M).toBeInstanceOf(f.ListenToKnownDevicesUseCase);const F=e.get(o.discoveryTypes.ListConnectedDevicesUseCase);expect(F).toBeInstanceOf(p.ListConnectedDevicesUseCase)})});
|
2
2
|
//# sourceMappingURL=discoveryModule.test.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/discovery/di/discoveryModule.test.ts"],
|
4
|
-
"sourcesContent": ["import { Container } from \"inversify\";\n\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { type Transport } from \"@api/types\";\nimport { deviceModelModuleFactory } from \"@internal/device-model/di/deviceModelModule\";\nimport { deviceSessionModuleFactory } from \"@internal/device-session/di/deviceSessionModule\";\nimport { ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport { ListenToKnownDevicesUseCase } from \"@internal/discovery/use-case/ListenToKnownDevicesUseCase\";\nimport { StartDiscoveringUseCase } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nimport { StopDiscoveringUseCase } from \"@internal/discovery/use-case/StopDiscoveringUseCase\";\nimport { loggerModuleFactory } from \"@internal/logger-publisher/di/loggerModule\";\nimport { managerApiModuleFactory } from \"@internal/manager-api/di/managerApiModule\";\nimport { transportModuleFactory } from \"@internal/transport/di/transportModule\";\n\nimport { discoveryModuleFactory } from \"./discoveryModule\";\nimport { discoveryTypes } from \"./discoveryTypes\";\n\ndescribe(\"discoveryModuleFactory\", () => {\n let container: Container;\n let mod: ReturnType<typeof discoveryModuleFactory>;\n let transport: Transport;\n beforeEach(() => {\n mod = discoveryModuleFactory({ stub: false });\n container = new Container();\n transport = new TransportMock();\n\n container.load(\n mod,\n // The following modules are injected into discovery module\n loggerModuleFactory(),\n deviceModelModuleFactory({ stub: false }),\n deviceSessionModuleFactory(),\n transportModuleFactory({\n transports: [jest.fn().mockImplementation(() => transport)],\n }),\n managerApiModuleFactory({\n config: {\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n },\n }),\n );\n });\n\n it(\"should return the device module\", () => {\n expect(mod).toBeDefined();\n });\n\n it(\"should return none mocked use cases\", () => {\n const startDiscoveringUseCase = container.get(\n discoveryTypes.StartDiscoveringUseCase,\n );\n expect(startDiscoveringUseCase).toBeInstanceOf(StartDiscoveringUseCase);\n\n const stopDiscoveringUseCase = container.get(\n discoveryTypes.StopDiscoveringUseCase,\n );\n expect(stopDiscoveringUseCase).toBeInstanceOf(StopDiscoveringUseCase);\n\n const disconnectUseCase = container.get(discoveryTypes.DisconnectUseCase);\n expect(disconnectUseCase).toBeInstanceOf(DisconnectUseCase);\n\n const connectUseCase = container.get(discoveryTypes.ConnectUseCase);\n expect(connectUseCase).toBeInstanceOf(ConnectUseCase);\n\n const listenToKnownDevicesUseCase = container.get(\n discoveryTypes.ListenToKnownDevicesUseCase,\n );\n expect(listenToKnownDevicesUseCase).toBeInstanceOf(\n ListenToKnownDevicesUseCase,\n );\n const listConnectedDevicesUseCase = container.get(\n discoveryTypes.ListConnectedDevicesUseCase,\n );\n expect(listConnectedDevicesUseCase).toBeInstanceOf(\n ListConnectedDevicesUseCase,\n );\n });\n});\n"],
|
5
|
-
"mappings": "aAAA,IAAAA,EAA0B,qBAE1BC,EAA8B,wDAE9BC,EAAyC,uDACzCC,EAA2C,2DAC3CC,EAA+B,uDAC/BC,EAAkC,0DAClCC,EAA4C,oEAC5CC,EAA4C,oEAC5CC,EAAwC,gEACxCC,EAAuC,+DACvCC,EAAoC,sDACpCC,EAAwC,qDACxCC,EAAuC,kDAEvCC,EAAuC,6BACvCC,EAA+B,4BAE/B,SAAS,yBAA0B,IAAM,CACvC,IAAIC,EACAC,EACAC,EACJ,WAAW,IAAM,CACfD,KAAM,0BAAuB,CAAE,KAAM,EAAM,CAAC,EAC5CD,EAAY,IAAI,YAChBE,EAAY,IAAI,gBAEhBF,EAAU,KACRC,KAEA,uBAAoB,KACpB,4BAAyB,CAAE,KAAM,EAAM,CAAC,KACxC,8BAA2B,KAC3B,0BAAuB,CACrB,WAAY,CAAC,KAAK,GAAG,EAAE,mBAAmB,IAAMC,CAAS,CAAC,CAC5D,CAAC,KACD,2BAAwB,CACtB,OAAQ,CACN,cAAe,kBACf,QAAS,
|
4
|
+
"sourcesContent": ["import { Container } from \"inversify\";\n\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { type Transport } from \"@api/types\";\nimport { deviceModelModuleFactory } from \"@internal/device-model/di/deviceModelModule\";\nimport { deviceSessionModuleFactory } from \"@internal/device-session/di/deviceSessionModule\";\nimport { ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport { ListenToKnownDevicesUseCase } from \"@internal/discovery/use-case/ListenToKnownDevicesUseCase\";\nimport { StartDiscoveringUseCase } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nimport { StopDiscoveringUseCase } from \"@internal/discovery/use-case/StopDiscoveringUseCase\";\nimport { loggerModuleFactory } from \"@internal/logger-publisher/di/loggerModule\";\nimport { managerApiModuleFactory } from \"@internal/manager-api/di/managerApiModule\";\nimport { transportModuleFactory } from \"@internal/transport/di/transportModule\";\n\nimport { discoveryModuleFactory } from \"./discoveryModule\";\nimport { discoveryTypes } from \"./discoveryTypes\";\n\ndescribe(\"discoveryModuleFactory\", () => {\n let container: Container;\n let mod: ReturnType<typeof discoveryModuleFactory>;\n let transport: Transport;\n beforeEach(() => {\n mod = discoveryModuleFactory({ stub: false });\n container = new Container();\n transport = new TransportMock();\n\n container.load(\n mod,\n // The following modules are injected into discovery module\n loggerModuleFactory(),\n deviceModelModuleFactory({ stub: false }),\n deviceSessionModuleFactory(),\n transportModuleFactory({\n transports: [jest.fn().mockImplementation(() => transport)],\n }),\n managerApiModuleFactory({\n config: {\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n webSocketUrl: \"http://fake-websocket.url\",\n },\n }),\n );\n });\n\n it(\"should return the device module\", () => {\n expect(mod).toBeDefined();\n });\n\n it(\"should return none mocked use cases\", () => {\n const startDiscoveringUseCase = container.get(\n discoveryTypes.StartDiscoveringUseCase,\n );\n expect(startDiscoveringUseCase).toBeInstanceOf(StartDiscoveringUseCase);\n\n const stopDiscoveringUseCase = container.get(\n discoveryTypes.StopDiscoveringUseCase,\n );\n expect(stopDiscoveringUseCase).toBeInstanceOf(StopDiscoveringUseCase);\n\n const disconnectUseCase = container.get(discoveryTypes.DisconnectUseCase);\n expect(disconnectUseCase).toBeInstanceOf(DisconnectUseCase);\n\n const connectUseCase = container.get(discoveryTypes.ConnectUseCase);\n expect(connectUseCase).toBeInstanceOf(ConnectUseCase);\n\n const listenToKnownDevicesUseCase = container.get(\n discoveryTypes.ListenToKnownDevicesUseCase,\n );\n expect(listenToKnownDevicesUseCase).toBeInstanceOf(\n ListenToKnownDevicesUseCase,\n );\n const listConnectedDevicesUseCase = container.get(\n discoveryTypes.ListConnectedDevicesUseCase,\n );\n expect(listConnectedDevicesUseCase).toBeInstanceOf(\n ListConnectedDevicesUseCase,\n );\n });\n});\n"],
|
5
|
+
"mappings": "aAAA,IAAAA,EAA0B,qBAE1BC,EAA8B,wDAE9BC,EAAyC,uDACzCC,EAA2C,2DAC3CC,EAA+B,uDAC/BC,EAAkC,0DAClCC,EAA4C,oEAC5CC,EAA4C,oEAC5CC,EAAwC,gEACxCC,EAAuC,+DACvCC,EAAoC,sDACpCC,EAAwC,qDACxCC,EAAuC,kDAEvCC,EAAuC,6BACvCC,EAA+B,4BAE/B,SAAS,yBAA0B,IAAM,CACvC,IAAIC,EACAC,EACAC,EACJ,WAAW,IAAM,CACfD,KAAM,0BAAuB,CAAE,KAAM,EAAM,CAAC,EAC5CD,EAAY,IAAI,YAChBE,EAAY,IAAI,gBAEhBF,EAAU,KACRC,KAEA,uBAAoB,KACpB,4BAAyB,CAAE,KAAM,EAAM,CAAC,KACxC,8BAA2B,KAC3B,0BAAuB,CACrB,WAAY,CAAC,KAAK,GAAG,EAAE,mBAAmB,IAAMC,CAAS,CAAC,CAC5D,CAAC,KACD,2BAAwB,CACtB,OAAQ,CACN,cAAe,kBACf,QAAS,uBACT,aAAc,2BAChB,CACF,CAAC,CACH,CACF,CAAC,EAED,GAAG,kCAAmC,IAAM,CAC1C,OAAOD,CAAG,EAAE,YAAY,CAC1B,CAAC,EAED,GAAG,sCAAuC,IAAM,CAC9C,MAAME,EAA0BH,EAAU,IACxC,iBAAe,uBACjB,EACA,OAAOG,CAAuB,EAAE,eAAe,yBAAuB,EAEtE,MAAMC,EAAyBJ,EAAU,IACvC,iBAAe,sBACjB,EACA,OAAOI,CAAsB,EAAE,eAAe,wBAAsB,EAEpE,MAAMC,EAAoBL,EAAU,IAAI,iBAAe,iBAAiB,EACxE,OAAOK,CAAiB,EAAE,eAAe,mBAAiB,EAE1D,MAAMC,EAAiBN,EAAU,IAAI,iBAAe,cAAc,EAClE,OAAOM,CAAc,EAAE,eAAe,gBAAc,EAEpD,MAAMC,EAA8BP,EAAU,IAC5C,iBAAe,2BACjB,EACA,OAAOO,CAA2B,EAAE,eAClC,6BACF,EACA,MAAMC,EAA8BR,EAAU,IAC5C,iBAAe,2BACjB,EACA,OAAOQ,CAA2B,EAAE,eAClC,6BACF,CACF,CAAC,CACH,CAAC",
|
6
6
|
"names": ["import_inversify", "import_TransportMock", "import_deviceModelModule", "import_deviceSessionModule", "import_ConnectUseCase", "import_DisconnectUseCase", "import_ListConnectedDevicesUseCase", "import_ListenToKnownDevicesUseCase", "import_StartDiscoveringUseCase", "import_StopDiscoveringUseCase", "import_loggerModule", "import_managerApiModule", "import_transportModule", "import_discoveryModule", "import_discoveryTypes", "container", "mod", "transport", "startDiscoveringUseCase", "stopDiscoveringUseCase", "disconnectUseCase", "connectUseCase", "listenToKnownDevicesUseCase", "listConnectedDevicesUseCase"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";var e=require("purify-ts"),f=require("../../../api/transport/model/__mocks__/TransportMock"),c=require("../../../api/transport/model/Errors"),
|
1
|
+
"use strict";var e=require("purify-ts"),f=require("../../../api/transport/model/__mocks__/TransportMock"),c=require("../../../api/transport/model/Errors"),u=require("../../../api/transport/model/TransportConnectedDevice.stub"),l=require("../../device-session/service/DefaultDeviceSessionService"),S=require("../../logger-publisher/service/DefaultLoggerPublisherService"),D=require("../../manager-api/data/AxiosManagerApiDataSource"),g=require("../../manager-api/service/DefaultManagerApiService"),d=require("../../transport/service/DefaultTransportService"),a=require("./ConnectUseCase");jest.mock("uuid",()=>({v4:jest.fn().mockReturnValue("fakeSessionId")}));jest.mock("@internal/manager-api/data/AxiosManagerApiDataSource");jest.mock("@internal/transport/service/DefaultTransportService");let o,t,i,r,n,v;const A="fakeSessionId";describe("ConnectUseCase",()=>{const p={id:"",deviceModel:{},transport:"USB"},k=(0,u.connectedDeviceStubBuilder)({id:"1"}),y="logger-tag";beforeAll(()=>{i=new S.DefaultLoggerPublisherService([],y),o=new f.TransportMock,r=new l.DefaultDeviceSessionService(()=>i),v=new D.AxiosManagerApiDataSource({}),n=new g.DefaultManagerApiService(v),t=new d.DefaultTransportService}),afterEach(()=>{for(const s of r.getDeviceSessions())r.removeDeviceSession(s.id)}),afterAll(()=>{jest.restoreAllMocks()}),test("If connect use case encounter an error, return it",async()=>{jest.spyOn(o,"connect").mockResolvedValue((0,e.Left)(new c.UnknownDeviceError)),jest.spyOn(t,"getTransport").mockReturnValue(e.Maybe.of(o));const s=new a.ConnectUseCase(t,r,()=>i,n);await expect(s.execute({device:p})).rejects.toBeInstanceOf(c.UnknownDeviceError)}),test("If connect is in success, return a deviceSession id",async()=>{jest.spyOn(o,"connect").mockResolvedValue(Promise.resolve((0,e.Right)(k))),jest.spyOn(t,"getTransport").mockReturnValue(e.Maybe.of(o));const m=await new a.ConnectUseCase(t,r,()=>i,n).execute({device:p});expect(m).toBe(A),r.removeDeviceSession(m)})});
|
2
2
|
//# sourceMappingURL=ConnectUseCase.test.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/discovery/use-case/ConnectUseCase.test.ts"],
|
4
|
-
"sourcesContent": ["import { Left, Maybe, Right } from \"purify-ts\";\n\nimport { type DeviceModel } from \"@api/device/DeviceModel\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { type DiscoveredDevice } from \"@api/transport/model/DiscoveredDevice\";\nimport { UnknownDeviceError } from \"@api/transport/model/Errors\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport {
|
5
|
-
"mappings": "aAAA,IAAAA,EAAmC,qBAInCC,EAA8B,wDAE9BC,EAAmC,uCACnCC,EAA2C,8DAE3CC,EAA4C,wEAE5CC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAEzCC,EAAwC,+DAGxCC,EAA+B,4BAE/B,KAAK,KAAK,OAAQ,KAAO,CACvB,GAAI,KAAK,GAAG,EAAE,gBAAgB,eAAe,CAC/C,EAAE,EAEF,KAAK,KAAK,sDAAsD,EAChE,KAAK,KAAK,qDAAqD,EAI/D,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACJ,MAAMC,EAAgB,gBACtB,SAAS,iBAAkB,IAAM,CAC/B,MAAMC,EAAyC,CAC7C,GAAI,GACJ,YAAa,CAAC,EACd,UAAW,KACb,EACMC,KAAsB,8BAA2B,CAAE,GAAI,GAAI,CAAC,EAC5DC,EAAM,aAEZ,UAAU,IAAM,CACdP,EAAS,IAAI,gCAA8B,CAAC,EAAGO,CAAG,EAClDT,EAAY,IAAI,gBAChBG,EAAiB,IAAI,8BAA4B,IAAMD,CAAM,EAC7DG,EAAuB,IAAI,4BAA0B,
|
4
|
+
"sourcesContent": ["import { Left, Maybe, Right } from \"purify-ts\";\n\nimport { type DeviceModel } from \"@api/device/DeviceModel\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { type DiscoveredDevice } from \"@api/transport/model/DiscoveredDevice\";\nimport { UnknownDeviceError } from \"@api/transport/model/Errors\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport type { DmkConfig, Transport } from \"@api/types\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { ConnectUseCase } from \"./ConnectUseCase\";\n\njest.mock(\"uuid\", () => ({\n v4: jest.fn().mockReturnValue(\"fakeSessionId\"),\n}));\n\njest.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\njest.mock(\"@internal/transport/service/DefaultTransportService\");\n\n// TODO test several transports\n// let transports: WebUsbHidTransport[];\nlet transport: Transport;\nlet transportService: TransportService;\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApi: ManagerApiService;\nlet managerApiDataSource: ManagerApiDataSource;\nconst fakeSessionId = \"fakeSessionId\";\ndescribe(\"ConnectUseCase\", () => {\n const stubDiscoveredDevice: DiscoveredDevice = {\n id: \"\",\n deviceModel: {} as DeviceModel,\n transport: \"USB\",\n };\n const stubConnectedDevice = connectedDeviceStubBuilder({ id: \"1\" });\n const tag = \"logger-tag\";\n\n beforeAll(() => {\n logger = new DefaultLoggerPublisherService([], tag);\n transport = new TransportMock();\n sessionService = new DefaultDeviceSessionService(() => logger);\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n // @ts-expect-error mock\n transportService = new DefaultTransportService();\n });\n\n afterEach(() => {\n for (const session of sessionService.getDeviceSessions()) {\n sessionService.removeDeviceSession(session.id);\n }\n });\n\n afterAll(() => {\n jest.restoreAllMocks();\n });\n\n test(\"If connect use case encounter an error, return it\", async () => {\n jest\n .spyOn(transport, \"connect\")\n .mockResolvedValue(Left(new UnknownDeviceError()));\n\n jest\n .spyOn(transportService, \"getTransport\")\n .mockReturnValue(Maybe.of(transport));\n\n const usecase = new ConnectUseCase(\n transportService,\n sessionService,\n () => logger,\n managerApi,\n );\n\n await expect(\n usecase.execute({ device: stubDiscoveredDevice }),\n ).rejects.toBeInstanceOf(UnknownDeviceError);\n });\n\n test(\"If connect is in success, return a deviceSession id\", async () => {\n jest\n .spyOn(transport, \"connect\")\n .mockResolvedValue(Promise.resolve(Right(stubConnectedDevice)));\n\n jest\n .spyOn(transportService, \"getTransport\")\n .mockReturnValue(Maybe.of(transport));\n\n const usecase = new ConnectUseCase(\n transportService,\n sessionService,\n () => logger,\n managerApi,\n );\n\n const sessionId = await usecase.execute({\n device: stubDiscoveredDevice,\n });\n expect(sessionId).toBe(fakeSessionId);\n sessionService.removeDeviceSession(sessionId);\n });\n});\n"],
|
5
|
+
"mappings": "aAAA,IAAAA,EAAmC,qBAInCC,EAA8B,wDAE9BC,EAAmC,uCACnCC,EAA2C,8DAE3CC,EAA4C,wEAE5CC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAEzCC,EAAwC,+DAGxCC,EAA+B,4BAE/B,KAAK,KAAK,OAAQ,KAAO,CACvB,GAAI,KAAK,GAAG,EAAE,gBAAgB,eAAe,CAC/C,EAAE,EAEF,KAAK,KAAK,sDAAsD,EAChE,KAAK,KAAK,qDAAqD,EAI/D,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACJ,MAAMC,EAAgB,gBACtB,SAAS,iBAAkB,IAAM,CAC/B,MAAMC,EAAyC,CAC7C,GAAI,GACJ,YAAa,CAAC,EACd,UAAW,KACb,EACMC,KAAsB,8BAA2B,CAAE,GAAI,GAAI,CAAC,EAC5DC,EAAM,aAEZ,UAAU,IAAM,CACdP,EAAS,IAAI,gCAA8B,CAAC,EAAGO,CAAG,EAClDT,EAAY,IAAI,gBAChBG,EAAiB,IAAI,8BAA4B,IAAMD,CAAM,EAC7DG,EAAuB,IAAI,4BAA0B,CAAC,CAAc,EACpED,EAAa,IAAI,2BAAyBC,CAAoB,EAE9DJ,EAAmB,IAAI,yBACzB,CAAC,EAED,UAAU,IAAM,CACd,UAAWS,KAAWP,EAAe,kBAAkB,EACrDA,EAAe,oBAAoBO,EAAQ,EAAE,CAEjD,CAAC,EAED,SAAS,IAAM,CACb,KAAK,gBAAgB,CACvB,CAAC,EAED,KAAK,oDAAqD,SAAY,CACpE,KACG,MAAMV,EAAW,SAAS,EAC1B,qBAAkB,QAAK,IAAI,oBAAoB,CAAC,EAEnD,KACG,MAAMC,EAAkB,cAAc,EACtC,gBAAgB,QAAM,GAAGD,CAAS,CAAC,EAEtC,MAAMW,EAAU,IAAI,iBAClBV,EACAE,EACA,IAAMD,EACNE,CACF,EAEA,MAAM,OACJO,EAAQ,QAAQ,CAAE,OAAQJ,CAAqB,CAAC,CAClD,EAAE,QAAQ,eAAe,oBAAkB,CAC7C,CAAC,EAED,KAAK,sDAAuD,SAAY,CACtE,KACG,MAAMP,EAAW,SAAS,EAC1B,kBAAkB,QAAQ,WAAQ,SAAMQ,CAAmB,CAAC,CAAC,EAEhE,KACG,MAAMP,EAAkB,cAAc,EACtC,gBAAgB,QAAM,GAAGD,CAAS,CAAC,EAStC,MAAMY,EAAY,MAPF,IAAI,iBAClBX,EACAE,EACA,IAAMD,EACNE,CACF,EAEgC,QAAQ,CACtC,OAAQG,CACV,CAAC,EACD,OAAOK,CAAS,EAAE,KAAKN,CAAa,EACpCH,EAAe,oBAAoBS,CAAS,CAC9C,CAAC,CACH,CAAC",
|
6
6
|
"names": ["import_purify_ts", "import_TransportMock", "import_Errors", "import_TransportConnectedDevice", "import_DefaultDeviceSessionService", "import_DefaultLoggerPublisherService", "import_AxiosManagerApiDataSource", "import_DefaultManagerApiService", "import_DefaultTransportService", "import_ConnectUseCase", "transport", "transportService", "logger", "sessionService", "managerApi", "managerApiDataSource", "fakeSessionId", "stubDiscoveredDevice", "stubConnectedDevice", "tag", "session", "usecase", "sessionId"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";var t=require("purify-ts"),
|
1
|
+
"use strict";var t=require("purify-ts"),f=require("../../../api/transport/model/__mocks__/TransportMock"),l=require("../../../api/transport/model/Errors"),u=require("../../../api/transport/model/TransportConnectedDevice.stub"),d=require("../../device-session/model/DeviceSession.stub"),S=require("../../device-session/model/Errors"),D=require("../../device-session/service/DefaultDeviceSessionService"),y=require("../../logger-publisher/service/DefaultLoggerPublisherService"),g=require("../../manager-api/data/AxiosManagerApiDataSource"),w=require("../../manager-api/service/DefaultManagerApiService"),h=require("../../transport/service/DefaultTransportService"),a=require("./DisconnectUseCase");jest.mock("@internal/transport/service/DefaultTransportService");let e,p,c=[];const r=jest.fn().mockReturnValue(new y.DefaultLoggerPublisherService([],"DisconnectUseCaseTest"));let i,m,v;const s="sessionId";describe("DisconnectUseCase",()=>{beforeAll(()=>{p=new f.TransportMock,c=[p],e=new D.DefaultDeviceSessionService(r),i=new h.DefaultTransportService,jest.spyOn(i,"getTransport").mockReturnValue(t.Maybe.of(p))}),it("should disconnect from a device",async()=>{const n=(0,u.connectedDeviceStubBuilder)();v=new g.AxiosManagerApiDataSource({}),m=new w.DefaultManagerApiService(v);const o=(0,d.deviceSessionStubBuilder)({id:s,connectedDevice:n},r,m);jest.spyOn(e,"getDeviceSessionById").mockImplementation(()=>(0,t.Right)(o)),jest.spyOn(o,"close"),jest.spyOn(e,"removeDeviceSession"),jest.spyOn(c[0],"disconnect").mockImplementation(()=>Promise.resolve((0,t.Right)(void 0))),await new a.DisconnectUseCase(i,e,r).execute({sessionId:s}),expect(o.close).toHaveBeenCalled(),expect(e.removeDeviceSession).toHaveBeenCalledWith(s),expect(c[0].disconnect).toHaveBeenCalledWith({connectedDevice:n})}),it("should throw an error when deviceSession not found",async()=>{const n=new a.DisconnectUseCase(i,e,r);try{await n.execute({sessionId:s})}catch(o){expect(o).toStrictEqual(new S.DeviceSessionNotFound)}}),it("should throw an error if usb hid disconnection fails",async()=>{jest.spyOn(e,"getDeviceSessionById").mockImplementation(()=>(0,t.Right)((0,d.deviceSessionStubBuilder)({id:s},r,m))),jest.spyOn(c[0],"disconnect").mockResolvedValue(Promise.resolve((0,t.Left)(new l.DisconnectError)));const n=new a.DisconnectUseCase(i,e,r);try{await n.execute({sessionId:s})}catch(o){expect(o).toStrictEqual(new l.DisconnectError)}})});
|
2
2
|
//# sourceMappingURL=DisconnectUseCase.test.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/discovery/use-case/DisconnectUseCase.test.ts"],
|
4
|
-
"sourcesContent": ["import { Left, Maybe, Right } from \"purify-ts\";\n\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { DisconnectError } from \"@api/transport/model/Errors\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport {
|
5
|
-
"mappings": "aAAA,IAAAA,EAAmC,qBAEnCC,EAA8B,wDAC9BC,EAAgC,uCAChCC,EAA2C,8DAE3CC,EAAyC,6DACzCF,EAAsC,iDACtCG,EAA4C,wEAC5CC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAEzCC,EAAwC,+DAGxCC,EAAkC,+BAElC,KAAK,KAAK,qDAAqD,EAE/D,IAAIC,EAEAC,EACAC,EAA0B,CAAC,EAC/B,MAAMC,EAAgB,KACnB,GAAG,EACH,gBACC,IAAI,gCAA8B,CAAC,EAAG,uBAAuB,CAC/D,EACF,IAAIC,EACAC,EACAC,EAEJ,MAAMC,EAAY,YAElB,SAAS,oBAAqB,IAAM,CAClC,UAAU,IAAM,CACdN,EAAY,IAAI,gBAChBC,EAAa,CAACD,CAAS,EACvBD,EAAiB,IAAI,8BAA4BG,CAAa,EAE9DC,EAAmB,IAAI,0BACvB,KACG,MAAMA,EAAkB,cAAc,EACtC,gBAAgB,QAAM,GAAGH,CAAS,CAAC,CACxC,CAAC,EAED,GAAG,kCAAmC,SAAY,CAEhD,MAAMO,KAAkB,8BAA2B,EACnDF,EAAuB,IAAI,4BAA0B,
|
4
|
+
"sourcesContent": ["import { Left, Maybe, Right } from \"purify-ts\";\n\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { DisconnectError } from \"@api/transport/model/Errors\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport type { DmkConfig, Transport } from \"@api/types\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { DisconnectUseCase } from \"./DisconnectUseCase\";\n\njest.mock(\"@internal/transport/service/DefaultTransportService\");\n\nlet sessionService: DefaultDeviceSessionService;\n// TODO test several transports\nlet transport: Transport;\nlet transports: Transport[] = [];\nconst loggerFactory = jest\n .fn()\n .mockReturnValue(\n new DefaultLoggerPublisherService([], \"DisconnectUseCaseTest\"),\n );\nlet transportService: TransportService;\nlet managerApi: ManagerApiService;\nlet managerApiDataSource: ManagerApiDataSource;\n\nconst sessionId = \"sessionId\";\n\ndescribe(\"DisconnectUseCase\", () => {\n beforeAll(() => {\n transport = new TransportMock();\n transports = [transport];\n sessionService = new DefaultDeviceSessionService(loggerFactory);\n // @ts-expect-error mock\n transportService = new DefaultTransportService();\n jest\n .spyOn(transportService, \"getTransport\")\n .mockReturnValue(Maybe.of(transport));\n });\n\n it(\"should disconnect from a device\", async () => {\n // Given\n const connectedDevice = connectedDeviceStubBuilder();\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n const deviceSession = deviceSessionStubBuilder(\n {\n id: sessionId,\n connectedDevice,\n },\n loggerFactory,\n managerApi,\n );\n jest\n .spyOn(sessionService, \"getDeviceSessionById\")\n .mockImplementation(() => Right(deviceSession));\n jest.spyOn(deviceSession, \"close\");\n jest.spyOn(sessionService, \"removeDeviceSession\");\n jest\n .spyOn(transports[0]!, \"disconnect\")\n .mockImplementation(() => Promise.resolve(Right(void 0)));\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n // When\n await disconnectUseCase.execute({ sessionId });\n\n // Then\n expect(deviceSession.close).toHaveBeenCalled();\n expect(sessionService.removeDeviceSession).toHaveBeenCalledWith(sessionId);\n expect(transports[0]!.disconnect).toHaveBeenCalledWith({\n connectedDevice,\n });\n });\n\n it(\"should throw an error when deviceSession not found\", async () => {\n // Given\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n // When\n try {\n await disconnectUseCase.execute({ sessionId });\n } catch (e) {\n // Then\n expect(e).toStrictEqual(new DeviceSessionNotFound());\n }\n });\n\n it(\"should throw an error if usb hid disconnection fails\", async () => {\n // Given\n jest\n .spyOn(sessionService, \"getDeviceSessionById\")\n .mockImplementation(() =>\n Right(\n deviceSessionStubBuilder(\n { id: sessionId },\n loggerFactory,\n managerApi,\n ),\n ),\n );\n jest\n .spyOn(transports[0]!, \"disconnect\")\n .mockResolvedValue(Promise.resolve(Left(new DisconnectError())));\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n\n // When\n try {\n await disconnectUseCase.execute({ sessionId });\n } catch (e) {\n // Then\n expect(e).toStrictEqual(new DisconnectError());\n }\n });\n});\n"],
|
5
|
+
"mappings": "aAAA,IAAAA,EAAmC,qBAEnCC,EAA8B,wDAC9BC,EAAgC,uCAChCC,EAA2C,8DAE3CC,EAAyC,6DACzCF,EAAsC,iDACtCG,EAA4C,wEAC5CC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAEzCC,EAAwC,+DAGxCC,EAAkC,+BAElC,KAAK,KAAK,qDAAqD,EAE/D,IAAIC,EAEAC,EACAC,EAA0B,CAAC,EAC/B,MAAMC,EAAgB,KACnB,GAAG,EACH,gBACC,IAAI,gCAA8B,CAAC,EAAG,uBAAuB,CAC/D,EACF,IAAIC,EACAC,EACAC,EAEJ,MAAMC,EAAY,YAElB,SAAS,oBAAqB,IAAM,CAClC,UAAU,IAAM,CACdN,EAAY,IAAI,gBAChBC,EAAa,CAACD,CAAS,EACvBD,EAAiB,IAAI,8BAA4BG,CAAa,EAE9DC,EAAmB,IAAI,0BACvB,KACG,MAAMA,EAAkB,cAAc,EACtC,gBAAgB,QAAM,GAAGH,CAAS,CAAC,CACxC,CAAC,EAED,GAAG,kCAAmC,SAAY,CAEhD,MAAMO,KAAkB,8BAA2B,EACnDF,EAAuB,IAAI,4BAA0B,CAAC,CAAc,EACpED,EAAa,IAAI,2BAAyBC,CAAoB,EAC9D,MAAMG,KAAgB,4BACpB,CACE,GAAIF,EACJ,gBAAAC,CACF,EACAL,EACAE,CACF,EACA,KACG,MAAML,EAAgB,sBAAsB,EAC5C,mBAAmB,OAAM,SAAMS,CAAa,CAAC,EAChD,KAAK,MAAMA,EAAe,OAAO,EACjC,KAAK,MAAMT,EAAgB,qBAAqB,EAChD,KACG,MAAME,EAAW,CAAC,EAAI,YAAY,EAClC,mBAAmB,IAAM,QAAQ,WAAQ,SAAM,MAAM,CAAC,CAAC,EAO1D,MAN0B,IAAI,oBAC5BE,EACAJ,EACAG,CACF,EAEwB,QAAQ,CAAE,UAAAI,CAAU,CAAC,EAG7C,OAAOE,EAAc,KAAK,EAAE,iBAAiB,EAC7C,OAAOT,EAAe,mBAAmB,EAAE,qBAAqBO,CAAS,EACzE,OAAOL,EAAW,CAAC,EAAG,UAAU,EAAE,qBAAqB,CACrD,gBAAAM,CACF,CAAC,CACH,CAAC,EAED,GAAG,qDAAsD,SAAY,CAEnE,MAAME,EAAoB,IAAI,oBAC5BN,EACAJ,EACAG,CACF,EAEA,GAAI,CACF,MAAMO,EAAkB,QAAQ,CAAE,UAAAH,CAAU,CAAC,CAC/C,OAASI,EAAG,CAEV,OAAOA,CAAC,EAAE,cAAc,IAAI,uBAAuB,CACrD,CACF,CAAC,EAED,GAAG,uDAAwD,SAAY,CAErE,KACG,MAAMX,EAAgB,sBAAsB,EAC5C,mBAAmB,OAClB,YACE,4BACE,CAAE,GAAIO,CAAU,EAChBJ,EACAE,CACF,CACF,CACF,EACF,KACG,MAAMH,EAAW,CAAC,EAAI,YAAY,EAClC,kBAAkB,QAAQ,WAAQ,QAAK,IAAI,iBAAiB,CAAC,CAAC,EACjE,MAAMQ,EAAoB,IAAI,oBAC5BN,EACAJ,EACAG,CACF,EAGA,GAAI,CACF,MAAMO,EAAkB,QAAQ,CAAE,UAAAH,CAAU,CAAC,CAC/C,OAASI,EAAG,CAEV,OAAOA,CAAC,EAAE,cAAc,IAAI,iBAAiB,CAC/C,CACF,CAAC,CACH,CAAC",
|
6
6
|
"names": ["import_purify_ts", "import_TransportMock", "import_Errors", "import_TransportConnectedDevice", "import_DeviceSession", "import_DefaultDeviceSessionService", "import_DefaultLoggerPublisherService", "import_AxiosManagerApiDataSource", "import_DefaultManagerApiService", "import_DefaultTransportService", "import_DisconnectUseCase", "sessionService", "transport", "transports", "loggerFactory", "transportService", "managerApi", "managerApiDataSource", "sessionId", "connectedDevice", "deviceSession", "disconnectUseCase", "e"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";var
|
1
|
+
"use strict";var n=require("../../../api/transport/model/ConnectedDevice"),c=require("../../device-session/model/DeviceSession.stub"),m=require("../../device-session/service/DefaultDeviceSessionService"),d=require("../../logger-publisher/service/DefaultLoggerPublisherService"),v=require("../../manager-api/data/AxiosManagerApiDataSource"),S=require("../../manager-api/service/DefaultManagerApiService"),a=require("./GetConnectedDeviceUseCase");jest.mock("@internal/manager-api/data/AxiosManagerApiDataSource");let i,o,p,t;const s="fakeSessionId";describe("GetConnectedDevice",()=>{beforeEach(()=>{i=new d.DefaultLoggerPublisherService([],"get-connected-device-use-case"),p=new v.AxiosManagerApiDataSource({}),t=new S.DefaultManagerApiService(p),o=new m.DefaultDeviceSessionService(()=>i)}),it("should retrieve an instance of ConnectedDevice",()=>{const e=(0,c.deviceSessionStubBuilder)({id:s},()=>i,t);o.addDeviceSession(e);const r=new a.GetConnectedDeviceUseCase(o,()=>i).execute({sessionId:s});e.close(),expect(r).toBeInstanceOf(n.ConnectedDevice)}),it("should retrieve correct device from session",()=>{const e=(0,c.deviceSessionStubBuilder)({id:s},()=>i,t);o.addDeviceSession(e);const r=new a.GetConnectedDeviceUseCase(o,()=>i).execute({sessionId:s});e.close(),expect(r).toStrictEqual(new n.ConnectedDevice({sessionId:s,transportConnectedDevice:e.connectedDevice}))})});
|
2
2
|
//# sourceMappingURL=GetConnectedDeviceUseCase.test.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.ts"],
|
4
|
-
"sourcesContent": ["import { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nimport { GetConnectedDeviceUseCase } from \"./GetConnectedDeviceUseCase\";\n\njest.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\n\nconst fakeSessionId = \"fakeSessionId\";\n\ndescribe(\"GetConnectedDevice\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"get-connected-device-use-case\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({
|
5
|
-
"mappings": "
|
4
|
+
"sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nimport { GetConnectedDeviceUseCase } from \"./GetConnectedDeviceUseCase\";\n\njest.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\n\nconst fakeSessionId = \"fakeSessionId\";\n\ndescribe(\"GetConnectedDevice\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"get-connected-device-use-case\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n it(\"should retrieve an instance of ConnectedDevice\", () => {\n // given\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId },\n () => logger,\n managerApi,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new GetConnectedDeviceUseCase(sessionService, () => logger);\n\n // when\n const response = useCase.execute({\n sessionId: fakeSessionId,\n });\n\n deviceSession.close();\n\n // then\n expect(response).toBeInstanceOf(ConnectedDevice);\n });\n\n it(\"should retrieve correct device from session\", () => {\n // given\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId },\n () => logger,\n managerApi,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new GetConnectedDeviceUseCase(sessionService, () => logger);\n\n // when\n const response = useCase.execute({\n sessionId: fakeSessionId,\n });\n\n deviceSession.close();\n\n // then\n expect(response).toStrictEqual(\n new ConnectedDevice({\n sessionId: fakeSessionId,\n transportConnectedDevice: deviceSession.connectedDevice,\n }),\n );\n });\n});\n"],
|
5
|
+
"mappings": "aAEA,IAAAA,EAAgC,gDAChCC,EAAyC,6DACzCC,EAA4C,wEAE5CC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAGzCC,EAA0C,uCAE1C,KAAK,KAAK,sDAAsD,EAEhE,IAAIC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAgB,gBAEtB,SAAS,qBAAsB,IAAM,CACnC,WAAW,IAAM,CACfJ,EAAS,IAAI,gCACX,CAAC,EACD,+BACF,EACAE,EAAuB,IAAI,4BAA0B,CAAC,CAAc,EACpEC,EAAa,IAAI,2BAAyBD,CAAoB,EAC9DD,EAAiB,IAAI,8BAA4B,IAAMD,CAAM,CAC/D,CAAC,EAED,GAAG,iDAAkD,IAAM,CAEzD,MAAMK,KAAgB,4BACpB,CAAE,GAAID,CAAc,EACpB,IAAMJ,EACNG,CACF,EACAF,EAAe,iBAAiBI,CAAa,EAI7C,MAAMC,EAHU,IAAI,4BAA0BL,EAAgB,IAAMD,CAAM,EAGjD,QAAQ,CAC/B,UAAWI,CACb,CAAC,EAEDC,EAAc,MAAM,EAGpB,OAAOC,CAAQ,EAAE,eAAe,iBAAe,CACjD,CAAC,EAED,GAAG,8CAA+C,IAAM,CAEtD,MAAMD,KAAgB,4BACpB,CAAE,GAAID,CAAc,EACpB,IAAMJ,EACNG,CACF,EACAF,EAAe,iBAAiBI,CAAa,EAI7C,MAAMC,EAHU,IAAI,4BAA0BL,EAAgB,IAAMD,CAAM,EAGjD,QAAQ,CAC/B,UAAWI,CACb,CAAC,EAEDC,EAAc,MAAM,EAGpB,OAAOC,CAAQ,EAAE,cACf,IAAI,kBAAgB,CAClB,UAAWF,EACX,yBAA0BC,EAAc,eAC1C,CAAC,CACH,CACF,CAAC,CACH,CAAC",
|
6
6
|
"names": ["import_ConnectedDevice", "import_DeviceSession", "import_DefaultDeviceSessionService", "import_DefaultLoggerPublisherService", "import_AxiosManagerApiDataSource", "import_DefaultManagerApiService", "import_GetConnectedDeviceUseCase", "logger", "sessionService", "managerApiDataSource", "managerApi", "fakeSessionId", "deviceSession", "response"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";var t=require("../../device-session/model/DeviceSession.stub"),p=require("../../device-session/service/DefaultDeviceSessionService"),c=require("../../discovery/use-case/ListConnectedDevicesUseCase"),
|
1
|
+
"use strict";var t=require("../../device-session/model/DeviceSession.stub"),p=require("../../device-session/service/DefaultDeviceSessionService"),c=require("../../discovery/use-case/ListConnectedDevicesUseCase"),v=require("../../logger-publisher/service/DefaultLoggerPublisherService"),m=require("../../manager-api/data/AxiosManagerApiDataSource"),d=require("../../manager-api/service/DefaultManagerApiService"),n=require("../../../../src");let i,o,a,r;describe("ListDeviceSessionsUseCase",()=>{beforeEach(()=>{i=new v.DefaultLoggerPublisherService([],"list-device-sessions-use-case-test"),a=new m.AxiosManagerApiDataSource({}),r=new d.DefaultManagerApiService(a),o=new p.DefaultDeviceSessionService(()=>i)}),it("should list all device sessions",()=>{const s=(0,t.deviceSessionStubBuilder)({id:"1"},()=>i,r),e=(0,t.deviceSessionStubBuilder)({id:"2"},()=>i,r);o.addDeviceSession(s),o.addDeviceSession(e);const S=new c.ListConnectedDevicesUseCase(o,()=>i).execute();s.close(),e.close(),expect(S).toStrictEqual([new n.ConnectedDevice({transportConnectedDevice:s.connectedDevice,sessionId:s.id}),new n.ConnectedDevice({transportConnectedDevice:e.connectedDevice,sessionId:e.id})])}),it("should return empty array if no device sessions",()=>{const e=new c.ListConnectedDevicesUseCase(o,()=>i).execute();expect(e).toStrictEqual([])})});
|
2
2
|
//# sourceMappingURL=ListConnectedDevicesUseCase.test.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.ts"],
|
4
|
-
"sourcesContent": ["import { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { ConnectedDevice } from \"@root/src\";\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\n\ndescribe(\"ListDeviceSessionsUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"list-device-sessions-use-case-test\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({
|
5
|
-
"mappings": "aACA,IAAAA,EAAyC,6DACzCC,EAA4C,wEAE5CC,EAA4C,oEAC5CC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAEzCC,
|
4
|
+
"sourcesContent": ["import { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { ConnectedDevice, type DmkConfig } from \"@root/src\";\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\n\ndescribe(\"ListDeviceSessionsUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"list-device-sessions-use-case-test\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n it(\"should list all device sessions\", () => {\n // given\n const deviceSession1 = deviceSessionStubBuilder(\n { id: \"1\" },\n () => logger,\n managerApi,\n );\n const deviceSession2 = deviceSessionStubBuilder(\n { id: \"2\" },\n () => logger,\n managerApi,\n );\n sessionService.addDeviceSession(deviceSession1);\n sessionService.addDeviceSession(deviceSession2);\n const useCase = new ListConnectedDevicesUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n const response = useCase.execute();\n\n deviceSession1.close();\n deviceSession2.close();\n\n // then\n expect(response).toStrictEqual([\n new ConnectedDevice({\n transportConnectedDevice: deviceSession1.connectedDevice,\n sessionId: deviceSession1.id,\n }),\n new ConnectedDevice({\n transportConnectedDevice: deviceSession2.connectedDevice,\n sessionId: deviceSession2.id,\n }),\n ]);\n });\n\n it(\"should return empty array if no device sessions\", () => {\n // given\n const useCase = new ListConnectedDevicesUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n const response = useCase.execute();\n\n // then\n expect(response).toStrictEqual([]);\n });\n});\n"],
|
5
|
+
"mappings": "aACA,IAAAA,EAAyC,6DACzCC,EAA4C,wEAE5CC,EAA4C,oEAC5CC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAEzCC,EAAgD,qBAEhD,IAAIC,EACAC,EACAC,EACAC,EAEJ,SAAS,4BAA6B,IAAM,CAC1C,WAAW,IAAM,CACfH,EAAS,IAAI,gCACX,CAAC,EACD,oCACF,EACAE,EAAuB,IAAI,4BAA0B,CAAC,CAAc,EACpEC,EAAa,IAAI,2BAAyBD,CAAoB,EAC9DD,EAAiB,IAAI,8BAA4B,IAAMD,CAAM,CAC/D,CAAC,EAED,GAAG,kCAAmC,IAAM,CAE1C,MAAMI,KAAiB,4BACrB,CAAE,GAAI,GAAI,EACV,IAAMJ,EACNG,CACF,EACME,KAAiB,4BACrB,CAAE,GAAI,GAAI,EACV,IAAML,EACNG,CACF,EACAF,EAAe,iBAAiBG,CAAc,EAC9CH,EAAe,iBAAiBI,CAAc,EAO9C,MAAMC,EANU,IAAI,8BAClBL,EACA,IAAMD,CACR,EAGyB,QAAQ,EAEjCI,EAAe,MAAM,EACrBC,EAAe,MAAM,EAGrB,OAAOC,CAAQ,EAAE,cAAc,CAC7B,IAAI,kBAAgB,CAClB,yBAA0BF,EAAe,gBACzC,UAAWA,EAAe,EAC5B,CAAC,EACD,IAAI,kBAAgB,CAClB,yBAA0BC,EAAe,gBACzC,UAAWA,EAAe,EAC5B,CAAC,CACH,CAAC,CACH,CAAC,EAED,GAAG,kDAAmD,IAAM,CAQ1D,MAAMC,EANU,IAAI,8BAClBL,EACA,IAAMD,CACR,EAGyB,QAAQ,EAGjC,OAAOM,CAAQ,EAAE,cAAc,CAAC,CAAC,CACnC,CAAC,CACH,CAAC",
|
6
6
|
"names": ["import_DeviceSession", "import_DefaultDeviceSessionService", "import_ListConnectedDevicesUseCase", "import_DefaultLoggerPublisherService", "import_AxiosManagerApiDataSource", "import_DefaultManagerApiService", "import_src", "logger", "sessionService", "managerApiDataSource", "managerApi", "deviceSession1", "deviceSession2", "response"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";var s=require("../../../api/transport/model/ConnectedDevice"),a=require("../../../api/transport/model/TransportConnectedDevice.stub"),m=require("../../device-session/model/DeviceSession.stub"),p=require("../../device-session/service/DefaultDeviceSessionService"),d=require("../../discovery/use-case/ListenToConnectedDeviceUseCase"),v=require("../../logger-publisher/service/DefaultLoggerPublisherService"),
|
1
|
+
"use strict";var s=require("../../../api/transport/model/ConnectedDevice"),a=require("../../../api/transport/model/TransportConnectedDevice.stub"),m=require("../../device-session/model/DeviceSession.stub"),p=require("../../device-session/service/DefaultDeviceSessionService"),d=require("../../discovery/use-case/ListenToConnectedDeviceUseCase"),v=require("../../logger-publisher/service/DefaultLoggerPublisherService"),u=require("../../manager-api/data/AxiosManagerApiDataSource"),S=require("../../manager-api/service/DefaultManagerApiService");jest.mock("@internal/manager-api/data/AxiosManagerApiDataSource");let e,i,r,n;const c="test-list-connected-device-session-id";describe("ListenToConnectedDevice",()=>{beforeEach(()=>{e=new v.DefaultLoggerPublisherService([],"listen-to-connected-device-use-case"),r=new u.AxiosManagerApiDataSource({}),n=new S.DefaultManagerApiService(r),i=new p.DefaultDeviceSessionService(()=>e)}),it("should emit an instance of ConnectedDevice",f=>{const o=(0,a.connectedDeviceStubBuilder)({id:"test-list-connected-device-id"}),t=(0,m.deviceSessionStubBuilder)({id:c,connectedDevice:o},()=>e,n),l=new d.ListenToConnectedDeviceUseCase(i,()=>e).execute().subscribe({next(g){expect(g).toEqual(new s.ConnectedDevice({transportConnectedDevice:o,sessionId:c})),D()}});function D(){l.unsubscribe(),t.close(),f()}i.addDeviceSession(t)})});
|
2
2
|
//# sourceMappingURL=ListenToConnectedDeviceUseCase.test.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.ts"],
|
4
|
-
"sourcesContent": ["import { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\njest.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\n\nconst fakeSessionId = \"test-list-connected-device-session-id\";\n\ndescribe(\"ListenToConnectedDevice\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"listen-to-connected-device-use-case\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({
|
5
|
-
"mappings": "
|
4
|
+
"sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\njest.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\n\nconst fakeSessionId = \"test-list-connected-device-session-id\";\n\ndescribe(\"ListenToConnectedDevice\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"listen-to-connected-device-use-case\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n it(\"should emit an instance of ConnectedDevice\", (done) => {\n // given\n const connectedDevice = connectedDeviceStubBuilder({\n id: \"test-list-connected-device-id\",\n });\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId, connectedDevice },\n () => logger,\n managerApi,\n );\n const observable = new ListenToConnectedDeviceUseCase(\n sessionService,\n () => logger,\n ).execute();\n\n const subscription = observable.subscribe({\n next(emittedConnectedDevice) {\n // then\n expect(emittedConnectedDevice).toEqual(\n new ConnectedDevice({\n transportConnectedDevice: connectedDevice,\n sessionId: fakeSessionId,\n }),\n );\n terminate();\n },\n });\n\n function terminate() {\n subscription.unsubscribe();\n deviceSession.close();\n done();\n }\n\n // when\n sessionService.addDeviceSession(deviceSession);\n });\n});\n"],
|
5
|
+
"mappings": "aAEA,IAAAA,EAAgC,gDAChCC,EAA2C,8DAC3CC,EAAyC,6DACzCC,EAA4C,wEAE5CC,EAA+C,uEAC/CC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAGzC,KAAK,KAAK,sDAAsD,EAEhE,IAAIC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAgB,wCAEtB,SAAS,0BAA2B,IAAM,CACxC,WAAW,IAAM,CACfJ,EAAS,IAAI,gCACX,CAAC,EACD,qCACF,EACAE,EAAuB,IAAI,4BAA0B,CAAC,CAAc,EACpEC,EAAa,IAAI,2BAAyBD,CAAoB,EAC9DD,EAAiB,IAAI,8BAA4B,IAAMD,CAAM,CAC/D,CAAC,EAED,GAAG,6CAA+CK,GAAS,CAEzD,MAAMC,KAAkB,8BAA2B,CACjD,GAAI,+BACN,CAAC,EACKC,KAAgB,4BACpB,CAAE,GAAIH,EAAe,gBAAAE,CAAgB,EACrC,IAAMN,EACNG,CACF,EAMMK,EALa,IAAI,iCACrBP,EACA,IAAMD,CACR,EAAE,QAAQ,EAEsB,UAAU,CACxC,KAAKS,EAAwB,CAE3B,OAAOA,CAAsB,EAAE,QAC7B,IAAI,kBAAgB,CAClB,yBAA0BH,EAC1B,UAAWF,CACb,CAAC,CACH,EACAM,EAAU,CACZ,CACF,CAAC,EAED,SAASA,GAAY,CACnBF,EAAa,YAAY,EACzBD,EAAc,MAAM,EACpBF,EAAK,CACP,CAGAJ,EAAe,iBAAiBM,CAAa,CAC/C,CAAC,CACH,CAAC",
|
6
6
|
"names": ["import_ConnectedDevice", "import_TransportConnectedDevice", "import_DeviceSession", "import_DefaultDeviceSessionService", "import_ListenToConnectedDeviceUseCase", "import_DefaultLoggerPublisherService", "import_AxiosManagerApiDataSource", "import_DefaultManagerApiService", "logger", "sessionService", "managerApiDataSource", "managerApi", "fakeSessionId", "done", "connectedDevice", "deviceSession", "subscription", "emittedConnectedDevice", "terminate"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";var
|
1
|
+
"use strict";var E=Object.create;var s=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var W=Object.getOwnPropertyNames;var U=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var B=(r,e)=>{for(var t in e)s(r,t,{get:e[t],enumerable:!0})},S=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of W(e))!v.call(r,a)&&a!==t&&s(r,a,{get:()=>e[a],enumerable:!(n=y(e,a))||n.enumerable});return r};var b=(r,e,t)=>(t=r!=null?E(U(r)):{},S(e||!r||!r.__esModule?s(t,"default",{value:r,enumerable:!0}):t,r)),D=r=>S(s({},"__esModule",{value:!0}),r),d=(r,e,t,n)=>{for(var a=n>1?void 0:n?y(e,t):e,A=r.length-1,k;A>=0;A--)(k=r[A])&&(a=(n?k(e,t,a):k(a))||a);return n&&a&&s(e,t,a),a},f=(r,e)=>(t,n)=>e(t,n,r);var T={};B(T,{AxiosManagerApiDataSource:()=>l});module.exports=D(T);var h=b(require("axios")),u=require("inversify"),g=b(require("isomorphic-ws")),o=require("purify-ts"),i=b(require("url")),w=require("../../manager-api/di/managerApiTypes"),c=require("../../manager-api/model/Application"),p=require("../../manager-api/model/Errors"),m=require("./ManagerApiDto");let l=class{managerApiBaseUrl;webSocketBaseUrl;constructor({managerApiUrl:e,webSocketUrl:t}){this.managerApiBaseUrl=e,this.webSocketBaseUrl=t,console.log(this.webSocketBaseUrl)}getDeviceVersion(e,t){return(0,o.EitherAsync)(()=>h.default.get(`${this.managerApiBaseUrl}/get_device_version`,{params:{target_id:e,provider:t}})).map(n=>n.data).mapLeft(n=>new p.HttpFetchApiError(n))}getFirmwareVersion(e,t,n){return(0,o.EitherAsync)(()=>h.default.get(`${this.managerApiBaseUrl}/get_firmware_version`,{params:{device_version:t,version_name:e,provider:n}})).map(a=>a.data).mapLeft(a=>new p.HttpFetchApiError(a))}getAppsByHash(e){return(0,o.EitherAsync)(()=>h.default.post(`${this.managerApiBaseUrl}/v2/apps/hash`,e)).map(t=>t.data).map(t=>this.mapApplicationDtoToApplication(t)).mapLeft(t=>new p.HttpFetchApiError(t))}genuineCheck(e){const t=i.default.format({pathname:`${this.webSocketBaseUrl}/genuine`,query:e});return this._connectWebSocket(t)}listInstalledApps(e){const t=i.default.format({pathname:`${this.webSocketBaseUrl}/apps/list`,query:e});return this._connectWebSocket(t)}updateMcu(e){const t=i.default.format({pathname:`${this.webSocketBaseUrl}/mcu`,query:e});return this._connectWebSocket(t)}updateFirmware(e){const t=i.default.format({pathname:`${this.webSocketBaseUrl}/install`,query:e});return this._connectWebSocket(t)}installApp(e){const t=i.default.format({pathname:`${this.webSocketBaseUrl}/install`,query:e});return this._connectWebSocket(t)}uninstallApp(e){const t=i.default.format({pathname:`${this.webSocketBaseUrl}/install`,query:e});return this._connectWebSocket(t)}_connectWebSocket(e){try{return(0,o.Right)(new g.default(e))}catch(t){return(0,o.Left)(new p.WebSocketConnectionError(t))}}mapAppTypeDtoToAppType(e){switch(e){case m.AppTypeDto.currency:return c.AppType.currency;case m.AppTypeDto.plugin:return c.AppType.plugin;case m.AppTypeDto.tool:return c.AppType.tool;case m.AppTypeDto.swap:return c.AppType.swap}}mapApplicationDtoToApplication(e){return e.map(t=>{if(t===null)return null;const{applicationType:n,...a}=t;return{...a,applicationType:this.mapAppTypeDtoToAppType(n)}})}};l=d([(0,u.injectable)(),f(0,(0,u.inject)(w.managerApiTypes.DmkConfig))],l);0&&(module.exports={AxiosManagerApiDataSource});
|
2
2
|
//# sourceMappingURL=AxiosManagerApiDataSource.js.map
|