@ledgerhq/device-management-kit 0.0.0-rnble-transport-20250219100517 → 0.0.0-rnble-transport-20250219135033

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.
Files changed (100) hide show
  1. package/lib/cjs/src/api/DeviceManagementKit.js +1 -1
  2. package/lib/cjs/src/api/DeviceManagementKit.js.map +2 -2
  3. package/lib/cjs/src/api/transport/model/DiscoveredDevice.js +1 -1
  4. package/lib/cjs/src/api/transport/model/DiscoveredDevice.js.map +1 -1
  5. package/lib/cjs/src/api/transport/model/Transport.js.map +1 -1
  6. package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js +1 -1
  7. package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js.map +1 -1
  8. package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js +1 -1
  9. package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js.map +2 -2
  10. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.js +1 -1
  11. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.js.map +2 -2
  12. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  13. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +2 -2
  14. package/lib/cjs/src/internal/discovery/di/discoveryModule.js +1 -1
  15. package/lib/cjs/src/internal/discovery/di/discoveryModule.js.map +3 -3
  16. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js +1 -1
  17. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  18. package/lib/cjs/src/internal/discovery/di/discoveryTypes.js +1 -1
  19. package/lib/cjs/src/internal/discovery/di/discoveryTypes.js.map +2 -2
  20. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  21. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js.map +2 -2
  22. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js +2 -0
  23. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js.map +7 -0
  24. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js +2 -0
  25. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js.map +7 -0
  26. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  27. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
  28. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  29. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +2 -2
  30. package/lib/cjs/src/internal/transport/service/DefaultTransportService.js +1 -1
  31. package/lib/cjs/src/internal/transport/service/DefaultTransportService.js.map +3 -3
  32. package/lib/cjs/src/internal/transport/service/TransportService.js +1 -1
  33. package/lib/cjs/src/internal/transport/service/TransportService.js.map +1 -1
  34. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
  35. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
  36. package/lib/esm/src/api/DeviceManagementKit.js +1 -1
  37. package/lib/esm/src/api/DeviceManagementKit.js.map +2 -2
  38. package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js +1 -1
  39. package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js.map +2 -2
  40. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.js +1 -1
  41. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.js.map +2 -2
  42. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  43. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +2 -2
  44. package/lib/esm/src/internal/discovery/di/discoveryModule.js +1 -1
  45. package/lib/esm/src/internal/discovery/di/discoveryModule.js.map +3 -3
  46. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js +1 -1
  47. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  48. package/lib/esm/src/internal/discovery/di/discoveryTypes.js +1 -1
  49. package/lib/esm/src/internal/discovery/di/discoveryTypes.js.map +2 -2
  50. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  51. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js.map +2 -2
  52. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js +2 -0
  53. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js.map +7 -0
  54. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js +2 -0
  55. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js.map +7 -0
  56. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  57. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
  58. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  59. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +2 -2
  60. package/lib/esm/src/internal/transport/service/DefaultTransportService.js +1 -1
  61. package/lib/esm/src/internal/transport/service/DefaultTransportService.js.map +3 -3
  62. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
  63. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
  64. package/lib/types/src/api/DeviceManagementKit.d.ts +2 -2
  65. package/lib/types/src/api/DeviceManagementKit.d.ts.map +1 -1
  66. package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts +1 -1
  67. package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts.map +1 -1
  68. package/lib/types/src/api/transport/model/Transport.d.ts +1 -1
  69. package/lib/types/src/api/transport/model/Transport.d.ts.map +1 -1
  70. package/lib/types/src/api/transport/model/TransportDiscoveredDevice.d.ts +1 -1
  71. package/lib/types/src/api/transport/model/TransportDiscoveredDevice.d.ts.map +1 -1
  72. package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts +1 -1
  73. package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts.map +1 -1
  74. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.d.ts +1 -1
  75. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.d.ts.map +1 -1
  76. package/lib/types/src/internal/discovery/di/discoveryTypes.d.ts +1 -1
  77. package/lib/types/src/internal/discovery/di/discoveryTypes.d.ts.map +1 -1
  78. package/lib/types/src/internal/discovery/use-case/{ListenToKnownDevicesUseCase.d.ts → ListenToAvailableDevicesUseCase.d.ts} +2 -2
  79. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.d.ts.map +1 -0
  80. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.d.ts +2 -0
  81. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.d.ts.map +1 -0
  82. package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts +2 -2
  83. package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts.map +1 -1
  84. package/lib/types/src/internal/transport/service/TransportService.d.ts +3 -3
  85. package/lib/types/src/internal/transport/service/TransportService.d.ts.map +1 -1
  86. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts +1 -1
  87. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts.map +1 -1
  88. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  89. package/package.json +4 -4
  90. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +0 -2
  91. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +0 -7
  92. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +0 -2
  93. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +0 -7
  94. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +0 -2
  95. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +0 -7
  96. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +0 -2
  97. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +0 -7
  98. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.d.ts.map +0 -1
  99. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.d.ts +0 -2
  100. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.d.ts.map +0 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/StartDiscoveringUseCase.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { map, mergeMap, Observable, of } from \"rxjs\";\n\nimport { DeviceModel } from \"@api/device/DeviceModel\";\nimport { DiscoveredDevice } from \"@api/transport/model/DiscoveredDevice\";\nimport { TransportNotSupportedError } from \"@api/transport/model/Errors\";\nimport { TransportDiscoveredDevice } from \"@api/transport/model/TransportDiscoveredDevice\";\nimport { TransportIdentifier } from \"@api/transport/model/TransportIdentifier\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nexport type StartDiscoveringUseCaseArgs = {\n /**\n * Identifier of the transport to start discovering devices.\n * Can be undefined to discover all available transports in parralel.\n */\n transport?: TransportIdentifier;\n};\n\n/**\n * Starts discovering devices connected.\n *\n * For the WebHID implementation, this use-case needs to be called as a result of an user interaction (button \"click\" event for ex).\n */\n@injectable()\nexport class StartDiscoveringUseCase {\n constructor(\n @inject(transportDiTypes.TransportService)\n private readonly _transportService: TransportService,\n ) {}\n\n private mapDiscoveredDevice(\n device: TransportDiscoveredDevice,\n ): DiscoveredDevice {\n const deviceModel = new DeviceModel({\n id: device.id,\n model: device.deviceModel.id,\n name: device.deviceModel.productName,\n });\n return {\n id: device.id,\n deviceModel,\n transport: device.transport,\n name: device.name || deviceModel.name,\n available: device.available === undefined ? true : device.available,\n };\n }\n\n execute({\n transport,\n }: StartDiscoveringUseCaseArgs): Observable<DiscoveredDevice> {\n if (!transport) {\n const transports = this._transportService.getAllTransports();\n return of(...transports).pipe(\n mergeMap((instance) =>\n instance\n .startDiscovering()\n .pipe(map((device) => this.mapDiscoveredDevice(device))),\n ),\n );\n }\n\n const instance = this._transportService.getTransport(transport);\n\n return instance.caseOf({\n Just: (t) => {\n return t\n .startDiscovering()\n .pipe(map((device) => this.mapDiscoveredDevice(device)));\n },\n Nothing: () => {\n throw new TransportNotSupportedError(new Error(\"Unknown transport\"));\n },\n });\n }\n}\n"],
5
- "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBACnCC,EAA8C,gBAE9CC,EAA4B,mCAE5BC,EAA2C,uCAG3CC,EAAiC,mDAiB1B,IAAMC,EAAN,KAA8B,CACnC,YAEmBC,EACjB,CADiB,uBAAAA,CAChB,CAEK,oBACNC,EACkB,CAClB,MAAMC,EAAc,IAAI,cAAY,CAClC,GAAID,EAAO,GACX,MAAOA,EAAO,YAAY,GAC1B,KAAMA,EAAO,YAAY,WAC3B,CAAC,EACD,MAAO,CACL,GAAIA,EAAO,GACX,YAAAC,EACA,UAAWD,EAAO,UAClB,KAAMA,EAAO,MAAQC,EAAY,KACjC,UAAWD,EAAO,YAAc,OAAY,GAAOA,EAAO,SAC5D,CACF,CAEA,QAAQ,CACN,UAAAE,CACF,EAA8D,CAC5D,GAAI,CAACA,EAAW,CACd,MAAMC,EAAa,KAAK,kBAAkB,iBAAiB,EAC3D,SAAO,MAAG,GAAGA,CAAU,EAAE,QACvB,YAAUC,GACRA,EACG,iBAAiB,EACjB,QAAK,OAAKJ,GAAW,KAAK,oBAAoBA,CAAM,CAAC,CAAC,CAC3D,CACF,CACF,CAIA,OAFiB,KAAK,kBAAkB,aAAaE,CAAS,EAE9C,OAAO,CACrB,KAAOG,GACEA,EACJ,iBAAiB,EACjB,QAAK,OAAKL,GAAW,KAAK,oBAAoBA,CAAM,CAAC,CAAC,EAE3D,QAAS,IAAM,CACb,MAAM,IAAI,6BAA2B,IAAI,MAAM,mBAAmB,CAAC,CACrE,CACF,CAAC,CACH,CACF,EAlDaF,EAANQ,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,mBAAiB,gBAAgB,IAFhCT",
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { map, mergeMap, Observable, of } from \"rxjs\";\n\nimport { DeviceModel } from \"@api/device/DeviceModel\";\nimport { DiscoveredDevice } from \"@api/transport/model/DiscoveredDevice\";\nimport { TransportNotSupportedError } from \"@api/transport/model/Errors\";\nimport { TransportDiscoveredDevice } from \"@api/transport/model/TransportDiscoveredDevice\";\nimport { TransportIdentifier } from \"@api/transport/model/TransportIdentifier\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nexport type StartDiscoveringUseCaseArgs = {\n /**\n * Identifier of the transport to start discovering devices.\n * Can be undefined to discover all available transports in parralel.\n */\n transport?: TransportIdentifier;\n};\n\n/**\n * Starts discovering devices connected.\n *\n * For the WebHID implementation, this use-case needs to be called as a result of an user interaction (button \"click\" event for ex).\n */\n@injectable()\nexport class StartDiscoveringUseCase {\n constructor(\n @inject(transportDiTypes.TransportService)\n private readonly _transportService: TransportService,\n ) {}\n\n private mapDiscoveredDevice(\n device: TransportDiscoveredDevice,\n ): DiscoveredDevice {\n const deviceModel = new DeviceModel({\n id: device.id,\n model: device.deviceModel.id,\n name: device.deviceModel.productName,\n });\n return {\n id: device.id,\n deviceModel,\n transport: device.transport,\n name: device.name || deviceModel.name,\n rssi: device.rssi,\n };\n }\n\n execute({\n transport,\n }: StartDiscoveringUseCaseArgs): Observable<DiscoveredDevice> {\n if (!transport) {\n const transports = this._transportService.getAllTransports();\n return of(...transports).pipe(\n mergeMap((instance) =>\n instance\n .startDiscovering()\n .pipe(map((device) => this.mapDiscoveredDevice(device))),\n ),\n );\n }\n\n const instance = this._transportService.getTransport(transport);\n\n return instance.caseOf({\n Just: (t) => {\n return t\n .startDiscovering()\n .pipe(map((device) => this.mapDiscoveredDevice(device)));\n },\n Nothing: () => {\n throw new TransportNotSupportedError(new Error(\"Unknown transport\"));\n },\n });\n }\n}\n"],
5
+ "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBACnCC,EAA8C,gBAE9CC,EAA4B,mCAE5BC,EAA2C,uCAG3CC,EAAiC,mDAiB1B,IAAMC,EAAN,KAA8B,CACnC,YAEmBC,EACjB,CADiB,uBAAAA,CAChB,CAEK,oBACNC,EACkB,CAClB,MAAMC,EAAc,IAAI,cAAY,CAClC,GAAID,EAAO,GACX,MAAOA,EAAO,YAAY,GAC1B,KAAMA,EAAO,YAAY,WAC3B,CAAC,EACD,MAAO,CACL,GAAIA,EAAO,GACX,YAAAC,EACA,UAAWD,EAAO,UAClB,KAAMA,EAAO,MAAQC,EAAY,KACjC,KAAMD,EAAO,IACf,CACF,CAEA,QAAQ,CACN,UAAAE,CACF,EAA8D,CAC5D,GAAI,CAACA,EAAW,CACd,MAAMC,EAAa,KAAK,kBAAkB,iBAAiB,EAC3D,SAAO,MAAG,GAAGA,CAAU,EAAE,QACvB,YAAUC,GACRA,EACG,iBAAiB,EACjB,QAAK,OAAKJ,GAAW,KAAK,oBAAoBA,CAAM,CAAC,CAAC,CAC3D,CACF,CACF,CAIA,OAFiB,KAAK,kBAAkB,aAAaE,CAAS,EAE9C,OAAO,CACrB,KAAOG,GACEA,EACJ,iBAAiB,EACjB,QAAK,OAAKL,GAAW,KAAK,oBAAoBA,CAAM,CAAC,CAAC,EAE3D,QAAS,IAAM,CACb,MAAM,IAAI,6BAA2B,IAAI,MAAM,mBAAmB,CAAC,CACrE,CACF,CAAC,CACH,CACF,EAlDaF,EAANQ,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,mBAAiB,gBAAgB,IAFhCT",
6
6
  "names": ["StartDiscoveringUseCase_exports", "__export", "StartDiscoveringUseCase", "__toCommonJS", "import_inversify", "import_rxjs", "import_DeviceModel", "import_Errors", "import_transportDiTypes", "StartDiscoveringUseCase", "_transportService", "device", "deviceModel", "transport", "transports", "instance", "t", "__decorateClass", "__decorateParam"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var c=require("purify-ts"),s=require("rxjs"),n=require("../../../api/device/DeviceModel"),a=require("../../../api/transport/model/__mocks__/TransportMock"),d=require("../../transport/service/DefaultTransportService"),p=require("./StartDiscoveringUseCase");vi.mock("@internal/transport/service/DefaultTransportService");let r,o;describe("StartDiscoveringUseCase",()=>{const v={id:"internal-discovered-device-id",deviceModel:{id:"nanoSP",productName:"productName"},transport:"USB"};beforeEach(()=>{r=new a.TransportMock,o=new d.DefaultTransportService}),afterEach(()=>{vi.restoreAllMocks()}),test("If connect use case encounter an error, return it",()=>new Promise((m,t)=>{const i=vi.fn(()=>(0,s.of)(v));vi.spyOn(r,"startDiscovering").mockImplementation(i),vi.spyOn(o,"getTransport").mockReturnValue(c.Maybe.of(r));const l=new p.StartDiscoveringUseCase(o).execute({transport:"USB"});expect(i).toHaveBeenCalled(),l.subscribe({next:e=>{try{expect(e).toStrictEqual({id:"internal-discovered-device-id",transport:"USB",available:!0,name:"productName",deviceModel:new n.DeviceModel({id:"internal-discovered-device-id",model:"nanoSP",name:"productName"})}),m()}catch(D){t(D)}},error:e=>{t(e)}})}))});
1
+ "use strict";var s=require("purify-ts"),c=require("rxjs"),n=require("../../../api/device/DeviceModel"),a=require("../../../api/transport/model/__mocks__/TransportMock"),d=require("../../transport/service/DefaultTransportService"),p=require("./StartDiscoveringUseCase");vi.mock("@internal/transport/service/DefaultTransportService");let r,o;describe("StartDiscoveringUseCase",()=>{const v={id:"internal-discovered-device-id",deviceModel:{id:"nanoSP",productName:"productName"},transport:"USB",rssi:void 0};beforeEach(()=>{r=new a.TransportMock,o=new d.DefaultTransportService}),afterEach(()=>{vi.restoreAllMocks()}),test("If connect use case encounter an error, return it",()=>new Promise((m,t)=>{const i=vi.fn(()=>(0,c.of)(v));vi.spyOn(r,"startDiscovering").mockImplementation(i),vi.spyOn(o,"getTransport").mockReturnValue(s.Maybe.of(r));const l=new p.StartDiscoveringUseCase(o).execute({transport:"USB"});expect(i).toHaveBeenCalled(),l.subscribe({next:e=>{try{expect(e).toStrictEqual({id:"internal-discovered-device-id",transport:"USB",name:"productName",deviceModel:new n.DeviceModel({id:"internal-discovered-device-id",model:"nanoSP",name:"productName"}),rssi:void 0}),m()}catch(D){t(D)}},error:e=>{t(e)}})}))});
2
2
  //# sourceMappingURL=StartDiscoveringUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/StartDiscoveringUseCase.test.ts"],
4
- "sourcesContent": ["import { Maybe } from \"purify-ts\";\nimport { of } from \"rxjs\";\n\nimport { DeviceModel } from \"@api/device/DeviceModel\";\nimport { type TransportDeviceModel } from \"@api/device-model/model/DeviceModel\";\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { type TransportDiscoveredDevice } from \"@api/transport/model/TransportDiscoveredDevice\";\nimport {\n type DeviceModelId,\n type DiscoveredDevice,\n type Transport,\n} from \"@api/types\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { StartDiscoveringUseCase } from \"./StartDiscoveringUseCase\";\n\nvi.mock(\"@internal/transport/service/DefaultTransportService\");\n\nlet transport: Transport;\nlet transportService: TransportService;\n\ndescribe(\"StartDiscoveringUseCase\", () => {\n const stubDiscoveredDevice: TransportDiscoveredDevice = {\n id: \"internal-discovered-device-id\",\n deviceModel: {\n id: \"nanoSP\" as DeviceModelId,\n productName: \"productName\",\n } as TransportDeviceModel,\n transport: \"USB\",\n };\n\n beforeEach(() => {\n transport = new TransportMock();\n // @ts-expect-error mock\n transportService = new DefaultTransportService();\n });\n\n afterEach(() => {\n vi.restoreAllMocks();\n });\n\n test(\"If connect use case encounter an error, return it\", () =>\n new Promise<void>((resolve, reject) => {\n const mockedStartDiscovering = vi.fn(() => {\n return of(stubDiscoveredDevice);\n });\n vi.spyOn(transport, \"startDiscovering\").mockImplementation(\n mockedStartDiscovering,\n );\n\n vi.spyOn(transportService, \"getTransport\").mockReturnValue(\n Maybe.of(transport),\n );\n\n const usecase = new StartDiscoveringUseCase(transportService);\n\n const discover = usecase.execute({ transport: \"USB\" });\n\n expect(mockedStartDiscovering).toHaveBeenCalled();\n\n discover.subscribe({\n next: (discoveredDevice) => {\n try {\n expect(discoveredDevice).toStrictEqual({\n id: \"internal-discovered-device-id\",\n transport: \"USB\",\n available: true,\n name: \"productName\",\n deviceModel: new DeviceModel({\n id: \"internal-discovered-device-id\",\n model: \"nanoSP\" as DeviceModelId,\n name: \"productName\",\n }),\n } as DiscoveredDevice);\n resolve();\n } catch (error) {\n reject(error);\n }\n },\n error: (error) => {\n reject(error);\n },\n });\n }));\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAAsB,qBACtBC,EAAmB,gBAEnBC,EAA4B,mCAE5BC,EAA8B,wDAO9BC,EAAwC,+DAGxCC,EAAwC,qCAExC,GAAG,KAAK,qDAAqD,EAE7D,IAAIC,EACAC,EAEJ,SAAS,0BAA2B,IAAM,CACxC,MAAMC,EAAkD,CACtD,GAAI,gCACJ,YAAa,CACX,GAAI,SACJ,YAAa,aACf,EACA,UAAW,KACb,EAEA,WAAW,IAAM,CACfF,EAAY,IAAI,gBAEhBC,EAAmB,IAAI,yBACzB,CAAC,EAED,UAAU,IAAM,CACd,GAAG,gBAAgB,CACrB,CAAC,EAED,KAAK,oDAAqD,IACxD,IAAI,QAAc,CAACE,EAASC,IAAW,CACrC,MAAMC,EAAyB,GAAG,GAAG,OAC5B,MAAGH,CAAoB,CAC/B,EACD,GAAG,MAAMF,EAAW,kBAAkB,EAAE,mBACtCK,CACF,EAEA,GAAG,MAAMJ,EAAkB,cAAc,EAAE,gBACzC,QAAM,GAAGD,CAAS,CACpB,EAIA,MAAMM,EAFU,IAAI,0BAAwBL,CAAgB,EAEnC,QAAQ,CAAE,UAAW,KAAM,CAAC,EAErD,OAAOI,CAAsB,EAAE,iBAAiB,EAEhDC,EAAS,UAAU,CACjB,KAAOC,GAAqB,CAC1B,GAAI,CACF,OAAOA,CAAgB,EAAE,cAAc,CACrC,GAAI,gCACJ,UAAW,MACX,UAAW,GACX,KAAM,cACN,YAAa,IAAI,cAAY,CAC3B,GAAI,gCACJ,MAAO,SACP,KAAM,aACR,CAAC,CACH,CAAqB,EACrBJ,EAAQ,CACV,OAASK,EAAO,CACdJ,EAAOI,CAAK,CACd,CACF,EACA,MAAQA,GAAU,CAChBJ,EAAOI,CAAK,CACd,CACF,CAAC,CACH,CAAC,CAAC,CACN,CAAC",
4
+ "sourcesContent": ["import { Maybe } from \"purify-ts\";\nimport { of } from \"rxjs\";\n\nimport { DeviceModel } from \"@api/device/DeviceModel\";\nimport { type TransportDeviceModel } from \"@api/device-model/model/DeviceModel\";\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { type TransportDiscoveredDevice } from \"@api/transport/model/TransportDiscoveredDevice\";\nimport {\n type DeviceModelId,\n type DiscoveredDevice,\n type Transport,\n} from \"@api/types\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { StartDiscoveringUseCase } from \"./StartDiscoveringUseCase\";\n\nvi.mock(\"@internal/transport/service/DefaultTransportService\");\n\nlet transport: Transport;\nlet transportService: TransportService;\n\ndescribe(\"StartDiscoveringUseCase\", () => {\n const stubDiscoveredDevice: TransportDiscoveredDevice = {\n id: \"internal-discovered-device-id\",\n deviceModel: {\n id: \"nanoSP\" as DeviceModelId,\n productName: \"productName\",\n } as TransportDeviceModel,\n transport: \"USB\",\n rssi: undefined,\n };\n\n beforeEach(() => {\n transport = new TransportMock();\n // @ts-expect-error mock\n transportService = new DefaultTransportService();\n });\n\n afterEach(() => {\n vi.restoreAllMocks();\n });\n\n test(\"If connect use case encounter an error, return it\", () =>\n new Promise<void>((resolve, reject) => {\n const mockedStartDiscovering = vi.fn(() => {\n return of(stubDiscoveredDevice);\n });\n vi.spyOn(transport, \"startDiscovering\").mockImplementation(\n mockedStartDiscovering,\n );\n\n vi.spyOn(transportService, \"getTransport\").mockReturnValue(\n Maybe.of(transport),\n );\n\n const usecase = new StartDiscoveringUseCase(transportService);\n\n const discover = usecase.execute({ transport: \"USB\" });\n\n expect(mockedStartDiscovering).toHaveBeenCalled();\n\n discover.subscribe({\n next: (discoveredDevice) => {\n try {\n expect(discoveredDevice).toStrictEqual({\n id: \"internal-discovered-device-id\",\n transport: \"USB\",\n name: \"productName\",\n deviceModel: new DeviceModel({\n id: \"internal-discovered-device-id\",\n model: \"nanoSP\" as DeviceModelId,\n name: \"productName\",\n }),\n rssi: undefined,\n } as DiscoveredDevice);\n resolve();\n } catch (error) {\n reject(error);\n }\n },\n error: (error) => {\n reject(error);\n },\n });\n }));\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAAsB,qBACtBC,EAAmB,gBAEnBC,EAA4B,mCAE5BC,EAA8B,wDAO9BC,EAAwC,+DAGxCC,EAAwC,qCAExC,GAAG,KAAK,qDAAqD,EAE7D,IAAIC,EACAC,EAEJ,SAAS,0BAA2B,IAAM,CACxC,MAAMC,EAAkD,CACtD,GAAI,gCACJ,YAAa,CACX,GAAI,SACJ,YAAa,aACf,EACA,UAAW,MACX,KAAM,MACR,EAEA,WAAW,IAAM,CACfF,EAAY,IAAI,gBAEhBC,EAAmB,IAAI,yBACzB,CAAC,EAED,UAAU,IAAM,CACd,GAAG,gBAAgB,CACrB,CAAC,EAED,KAAK,oDAAqD,IACxD,IAAI,QAAc,CAACE,EAASC,IAAW,CACrC,MAAMC,EAAyB,GAAG,GAAG,OAC5B,MAAGH,CAAoB,CAC/B,EACD,GAAG,MAAMF,EAAW,kBAAkB,EAAE,mBACtCK,CACF,EAEA,GAAG,MAAMJ,EAAkB,cAAc,EAAE,gBACzC,QAAM,GAAGD,CAAS,CACpB,EAIA,MAAMM,EAFU,IAAI,0BAAwBL,CAAgB,EAEnC,QAAQ,CAAE,UAAW,KAAM,CAAC,EAErD,OAAOI,CAAsB,EAAE,iBAAiB,EAEhDC,EAAS,UAAU,CACjB,KAAOC,GAAqB,CAC1B,GAAI,CACF,OAAOA,CAAgB,EAAE,cAAc,CACrC,GAAI,gCACJ,UAAW,MACX,KAAM,cACN,YAAa,IAAI,cAAY,CAC3B,GAAI,gCACJ,MAAO,SACP,KAAM,aACR,CAAC,EACD,KAAM,MACR,CAAqB,EACrBJ,EAAQ,CACV,OAASK,EAAO,CACdJ,EAAOI,CAAK,CACd,CACF,EACA,MAAQA,GAAU,CAChBJ,EAAOI,CAAK,CACd,CACF,CAAC,CACH,CAAC,CAAC,CACN,CAAC",
6
6
  "names": ["import_purify_ts", "import_rxjs", "import_DeviceModel", "import_TransportMock", "import_DefaultTransportService", "import_StartDiscoveringUseCase", "transport", "transportService", "stubDiscoveredDevice", "resolve", "reject", "mockedStartDiscovering", "discover", "discoveredDevice", "error"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var v=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var F=Object.getOwnPropertyNames;var _=Object.prototype.hasOwnProperty;var D=(t,r)=>{for(var e in r)v(t,e,{get:r[e],enumerable:!0})},M=(t,r,e,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of F(r))!_.call(t,o)&&o!==e&&v(t,o,{get:()=>r[o],enumerable:!(i=m(r,o))||i.enumerable});return t};var A=t=>M(v({},"__esModule",{value:!0}),t),u=(t,r,e,i)=>{for(var o=i>1?void 0:i?m(r,e):r,p=t.length-1,d;p>=0;p--)(d=t[p])&&(o=(i?d(r,e,o):d(o))||o);return i&&o&&v(r,e,o),o},s=(t,r)=>(e,i)=>r(e,i,t);var b={};D(b,{DefaultTransportService:()=>c});module.exports=A(b);var a=require("inversify"),n=require("purify-ts"),g=require("../../../api/transport/model/Errors"),S=require("../../device-model/di/deviceModelTypes"),l=require("../../device-session/di/deviceSessionTypes"),h=require("../../logger-publisher/di/loggerTypes"),y=require("../../transport/di/transportDiTypes");let c=class{constructor(r,e,i,o,p,d){this._config=e;this._loggerModuleFactory=i;this._deviceModelDataSource=o;this._apduSenderServiceFactory=p;this._apduReceiverServiceFactory=d;if(this._logger=i("TransportService"),r.length===0)throw this._logger.warn("No transports provided, please check your configuration"),new g.NoTransportProvidedError("No transports provided, please check your configuration");for(const T of r){const f=this.addTransport(T);if(f.isLeft())throw f.extract()}}_transports=new Map;_logger;addTransport(r){const e=r({deviceModelDataSource:this._deviceModelDataSource,loggerServiceFactory:this._loggerModuleFactory,config:this._config,apduSenderServiceFactory:this._apduSenderServiceFactory,apduReceiverServiceFactory:this._apduReceiverServiceFactory});return this.addTransportInternal(e)}addTransportInternal(r){return this.getTransport(r.getIdentifier()).isJust()?(this._logger.warn(`Transport ${r.getIdentifier()} already exists, please check your configuration`),(0,n.Left)(new g.TransportAlreadyExistsError(`Transport ${r.getIdentifier()} already exists, please check your configuration`))):(this._transports.set(r.getIdentifier(),r),(0,n.Right)(void 0))}getTransport(r){return n.Maybe.fromNullable(this._transports.get(r))}getAllTransports(){return Array.from(this._transports.values())}async closeAllTransports(r){const e=this.getAllTransports();for(const i of r)for(const o of e)await o.disconnect({connectedDevice:i.connectedDevice})}};c=u([(0,a.injectable)(),s(0,(0,a.inject)(y.transportDiTypes.TransportsInput)),s(1,(0,a.inject)(y.transportDiTypes.DmkConfig)),s(2,(0,a.inject)(h.loggerTypes.LoggerPublisherServiceFactory)),s(3,(0,a.inject)(S.deviceModelTypes.DeviceModelDataSource)),s(4,(0,a.inject)(l.deviceSessionTypes.ApduSenderServiceFactory)),s(5,(0,a.inject)(l.deviceSessionTypes.ApduReceiverServiceFactory))],c);0&&(module.exports={DefaultTransportService});
1
+ "use strict";var g=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var F=Object.getOwnPropertyNames;var _=Object.prototype.hasOwnProperty;var M=(o,r)=>{for(var e in r)g(o,e,{get:r[e],enumerable:!0})},A=(o,r,e,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of F(r))!_.call(o,t)&&t!==e&&g(o,t,{get:()=>r[t],enumerable:!(i=u(r,t))||i.enumerable});return o};var D=o=>A(g({},"__esModule",{value:!0}),o),f=(o,r,e,i)=>{for(var t=i>1?void 0:i?u(r,e):r,c=o.length-1,d;c>=0;c--)(d=o[c])&&(t=(i?d(r,e,t):d(t))||t);return i&&t&&g(r,e,t),t},n=(o,r)=>(e,i)=>r(e,i,o);var b={};M(b,{DefaultTransportService:()=>p});module.exports=D(b);var a=require("inversify"),s=require("purify-ts"),v=require("../../../api/transport/model/Errors"),h=require("../../device-model/di/deviceModelTypes"),y=require("../../device-session/di/deviceSessionTypes"),T=require("../../logger-publisher/di/loggerTypes"),l=require("../../transport/di/transportDiTypes");let p=class{constructor(r,e,i,t,c,d){this._config=e;this._loggerModuleFactory=i;this._deviceModelDataSource=t;this._apduSenderServiceFactory=c;this._apduReceiverServiceFactory=d;if(this._logger=i("TransportService"),r.length===0)throw this._logger.warn("No transports provided, please check your configuration"),new v.NoTransportProvidedError("No transports provided, please check your configuration");for(const S of r){const m=this.addTransport(S);if(m.isLeft())throw m.extract()}}_transports=new Map;_logger;addTransport(r){const e=r({deviceModelDataSource:this._deviceModelDataSource,loggerServiceFactory:this._loggerModuleFactory,config:this._config,apduSenderServiceFactory:this._apduSenderServiceFactory,apduReceiverServiceFactory:this._apduReceiverServiceFactory});return this.addTransportInternal(e)}addTransportInternal(r){return this.getTransport(r.getIdentifier()).isJust()?(this._logger.warn(`Transport ${r.getIdentifier()} already exists, please check your configuration`),(0,s.Left)(new v.TransportAlreadyExistsError(`Transport ${r.getIdentifier()} already exists, please check your configuration`))):(this._transports.set(r.getIdentifier(),r),(0,s.Right)(void 0))}getTransport(r){return s.Maybe.fromNullable(this._transports.get(r))}getAllTransports(){return Array.from(this._transports.values())}closeConnection(r){this.getTransport(r.transport).map(i=>i.disconnect({connectedDevice:r}))}};p=f([(0,a.injectable)(),n(0,(0,a.inject)(l.transportDiTypes.TransportsInput)),n(1,(0,a.inject)(l.transportDiTypes.DmkConfig)),n(2,(0,a.inject)(T.loggerTypes.LoggerPublisherServiceFactory)),n(3,(0,a.inject)(h.deviceModelTypes.DeviceModelDataSource)),n(4,(0,a.inject)(y.deviceSessionTypes.ApduSenderServiceFactory)),n(5,(0,a.inject)(y.deviceSessionTypes.ApduReceiverServiceFactory))],p);0&&(module.exports={DefaultTransportService});
2
2
  //# sourceMappingURL=DefaultTransportService.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/transport/service/DefaultTransportService.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { Either, Left, Maybe, Right } from \"purify-ts\";\n\nimport { type DeviceModelDataSource } from \"@api/device-model/data/DeviceModelDataSource\";\nimport { type ApduReceiverServiceFactory } from \"@api/device-session/service/ApduReceiverService\";\nimport { type ApduSenderServiceFactory } from \"@api/device-session/service/ApduSenderService\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport {\n NoTransportProvidedError,\n TransportAlreadyExistsError,\n} from \"@api/transport/model/Errors\";\nimport { TransportFactory } from \"@api/transport/model/Transport\";\nimport { Transport } from \"@api/types\";\nimport { deviceModelTypes } from \"@internal/device-model/di/deviceModelTypes\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { DeviceSession } from \"@internal/device-session/model/DeviceSession\";\nimport { loggerTypes } from \"@internal/logger-publisher/di/loggerTypes\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\n\nimport { TransportService } from \"./TransportService\";\n\n@injectable()\nexport class DefaultTransportService implements TransportService {\n private _transports: Map<string, Transport> = new Map();\n private _logger: LoggerPublisherService;\n\n constructor(\n @inject(transportDiTypes.TransportsInput)\n _transports: TransportFactory[],\n @inject(transportDiTypes.DmkConfig)\n private readonly _config: DmkConfig,\n @inject(loggerTypes.LoggerPublisherServiceFactory)\n private readonly _loggerModuleFactory: (\n tag: string,\n ) => LoggerPublisherService,\n @inject(deviceModelTypes.DeviceModelDataSource)\n private readonly _deviceModelDataSource: DeviceModelDataSource,\n @inject(deviceSessionTypes.ApduSenderServiceFactory)\n private readonly _apduSenderServiceFactory: ApduSenderServiceFactory,\n @inject(deviceSessionTypes.ApduReceiverServiceFactory)\n private readonly _apduReceiverServiceFactory: ApduReceiverServiceFactory,\n ) {\n this._logger = _loggerModuleFactory(\"TransportService\");\n\n if (_transports.length === 0) {\n this._logger.warn(\n \"No transports provided, please check your configuration\",\n );\n\n throw new NoTransportProvidedError(\n \"No transports provided, please check your configuration\",\n );\n }\n\n for (const transport of _transports) {\n const either = this.addTransport(transport);\n\n if (either.isLeft()) {\n throw either.extract();\n }\n }\n }\n\n addTransport(\n factory: TransportFactory,\n ): Either<TransportAlreadyExistsError, void> {\n const transport = factory({\n deviceModelDataSource: this._deviceModelDataSource,\n loggerServiceFactory: this._loggerModuleFactory,\n config: this._config,\n apduSenderServiceFactory: this._apduSenderServiceFactory,\n apduReceiverServiceFactory: this._apduReceiverServiceFactory,\n });\n\n return this.addTransportInternal(transport);\n }\n\n private addTransportInternal(\n transport: Transport,\n ): Either<TransportAlreadyExistsError, void> {\n const MaybeTransport = this.getTransport(transport.getIdentifier());\n\n if (MaybeTransport.isJust()) {\n this._logger.warn(\n `Transport ${transport.getIdentifier()} already exists, please check your configuration`,\n );\n\n return Left(\n new TransportAlreadyExistsError(\n `Transport ${transport.getIdentifier()} already exists, please check your configuration`,\n ),\n );\n }\n\n this._transports.set(transport.getIdentifier(), transport);\n return Right(undefined);\n }\n\n getTransport(identifier: string): Maybe<Transport> {\n return Maybe.fromNullable(this._transports.get(identifier));\n }\n\n getAllTransports(): Transport[] {\n return Array.from(this._transports.values());\n }\n\n async closeAllTransports(deviceSessions: DeviceSession[]): Promise<void> {\n const transports = this.getAllTransports();\n for (const deviceSession of deviceSessions) {\n for (const transport of transports) {\n await transport.disconnect({\n connectedDevice: deviceSession.connectedDevice,\n });\n }\n }\n }\n}\n"],
5
- "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBACnCC,EAA2C,qBAO3CC,EAGO,uCAGPC,EAAiC,sDACjCC,EAAmC,0DAEnCC,EAA4B,qDAC5BC,EAAiC,mDAK1B,IAAMC,EAAN,KAA0D,CAI/D,YAEEC,EAEiBC,EAEAC,EAIAC,EAEAC,EAEAC,EACjB,CAXiB,aAAAJ,EAEA,0BAAAC,EAIA,4BAAAC,EAEA,+BAAAC,EAEA,iCAAAC,EAIjB,GAFA,KAAK,QAAUH,EAAqB,kBAAkB,EAElDF,EAAY,SAAW,EACzB,WAAK,QAAQ,KACX,yDACF,EAEM,IAAI,2BACR,yDACF,EAGF,UAAWM,KAAaN,EAAa,CACnC,MAAMO,EAAS,KAAK,aAAaD,CAAS,EAE1C,GAAIC,EAAO,OAAO,EAChB,MAAMA,EAAO,QAAQ,CAEzB,CACF,CAtCQ,YAAsC,IAAI,IAC1C,QAuCR,aACEC,EAC2C,CAC3C,MAAMF,EAAYE,EAAQ,CACxB,sBAAuB,KAAK,uBAC5B,qBAAsB,KAAK,qBAC3B,OAAQ,KAAK,QACb,yBAA0B,KAAK,0BAC/B,2BAA4B,KAAK,2BACnC,CAAC,EAED,OAAO,KAAK,qBAAqBF,CAAS,CAC5C,CAEQ,qBACNA,EAC2C,CAG3C,OAFuB,KAAK,aAAaA,EAAU,cAAc,CAAC,EAE/C,OAAO,GACxB,KAAK,QAAQ,KACX,aAAaA,EAAU,cAAc,CAAC,kDACxC,KAEO,QACL,IAAI,8BACF,aAAaA,EAAU,cAAc,CAAC,kDACxC,CACF,IAGF,KAAK,YAAY,IAAIA,EAAU,cAAc,EAAGA,CAAS,KAClD,SAAM,MAAS,EACxB,CAEA,aAAaG,EAAsC,CACjD,OAAO,QAAM,aAAa,KAAK,YAAY,IAAIA,CAAU,CAAC,CAC5D,CAEA,kBAAgC,CAC9B,OAAO,MAAM,KAAK,KAAK,YAAY,OAAO,CAAC,CAC7C,CAEA,MAAM,mBAAmBC,EAAgD,CACvE,MAAMC,EAAa,KAAK,iBAAiB,EACzC,UAAWC,KAAiBF,EAC1B,UAAWJ,KAAaK,EACtB,MAAML,EAAU,WAAW,CACzB,gBAAiBM,EAAc,eACjC,CAAC,CAGP,CACF,EA9Fab,EAANc,EAAA,IADN,cAAW,EAMPC,EAAA,eAAO,mBAAiB,eAAe,GAEvCA,EAAA,eAAO,mBAAiB,SAAS,GAEjCA,EAAA,eAAO,cAAY,6BAA6B,GAIhDA,EAAA,eAAO,mBAAiB,qBAAqB,GAE7CA,EAAA,eAAO,qBAAmB,wBAAwB,GAElDA,EAAA,eAAO,qBAAmB,0BAA0B,IAjB5Cf",
6
- "names": ["DefaultTransportService_exports", "__export", "DefaultTransportService", "__toCommonJS", "import_inversify", "import_purify_ts", "import_Errors", "import_deviceModelTypes", "import_deviceSessionTypes", "import_loggerTypes", "import_transportDiTypes", "DefaultTransportService", "_transports", "_config", "_loggerModuleFactory", "_deviceModelDataSource", "_apduSenderServiceFactory", "_apduReceiverServiceFactory", "transport", "either", "factory", "identifier", "deviceSessions", "transports", "deviceSession", "__decorateClass", "__decorateParam"]
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { Either, Left, Maybe, Right } from \"purify-ts\";\n\nimport { type DeviceModelDataSource } from \"@api/device-model/data/DeviceModelDataSource\";\nimport { type ApduReceiverServiceFactory } from \"@api/device-session/service/ApduReceiverService\";\nimport { type ApduSenderServiceFactory } from \"@api/device-session/service/ApduSenderService\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport {\n NoTransportProvidedError,\n TransportAlreadyExistsError,\n} from \"@api/transport/model/Errors\";\nimport { TransportFactory } from \"@api/transport/model/Transport\";\nimport { TransportConnectedDevice } from \"@api/transport/model/TransportConnectedDevice\";\nimport { Transport } from \"@api/types\";\nimport { deviceModelTypes } from \"@internal/device-model/di/deviceModelTypes\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { loggerTypes } from \"@internal/logger-publisher/di/loggerTypes\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\n\nimport { TransportService } from \"./TransportService\";\n\n@injectable()\nexport class DefaultTransportService implements TransportService {\n private _transports: Map<string, Transport> = new Map();\n private _logger: LoggerPublisherService;\n\n constructor(\n @inject(transportDiTypes.TransportsInput)\n _transports: TransportFactory[],\n @inject(transportDiTypes.DmkConfig)\n private readonly _config: DmkConfig,\n @inject(loggerTypes.LoggerPublisherServiceFactory)\n private readonly _loggerModuleFactory: (\n tag: string,\n ) => LoggerPublisherService,\n @inject(deviceModelTypes.DeviceModelDataSource)\n private readonly _deviceModelDataSource: DeviceModelDataSource,\n @inject(deviceSessionTypes.ApduSenderServiceFactory)\n private readonly _apduSenderServiceFactory: ApduSenderServiceFactory,\n @inject(deviceSessionTypes.ApduReceiverServiceFactory)\n private readonly _apduReceiverServiceFactory: ApduReceiverServiceFactory,\n ) {\n this._logger = _loggerModuleFactory(\"TransportService\");\n\n if (_transports.length === 0) {\n this._logger.warn(\n \"No transports provided, please check your configuration\",\n );\n\n throw new NoTransportProvidedError(\n \"No transports provided, please check your configuration\",\n );\n }\n\n for (const transport of _transports) {\n const either = this.addTransport(transport);\n\n if (either.isLeft()) {\n throw either.extract();\n }\n }\n }\n\n addTransport(\n factory: TransportFactory,\n ): Either<TransportAlreadyExistsError, void> {\n const transport = factory({\n deviceModelDataSource: this._deviceModelDataSource,\n loggerServiceFactory: this._loggerModuleFactory,\n config: this._config,\n apduSenderServiceFactory: this._apduSenderServiceFactory,\n apduReceiverServiceFactory: this._apduReceiverServiceFactory,\n });\n\n return this.addTransportInternal(transport);\n }\n\n private addTransportInternal(\n transport: Transport,\n ): Either<TransportAlreadyExistsError, void> {\n const MaybeTransport = this.getTransport(transport.getIdentifier());\n\n if (MaybeTransport.isJust()) {\n this._logger.warn(\n `Transport ${transport.getIdentifier()} already exists, please check your configuration`,\n );\n\n return Left(\n new TransportAlreadyExistsError(\n `Transport ${transport.getIdentifier()} already exists, please check your configuration`,\n ),\n );\n }\n\n this._transports.set(transport.getIdentifier(), transport);\n return Right(undefined);\n }\n\n getTransport(identifier: string): Maybe<Transport> {\n return Maybe.fromNullable(this._transports.get(identifier));\n }\n\n getAllTransports(): Transport[] {\n return Array.from(this._transports.values());\n }\n\n closeConnection(connectedDevice: TransportConnectedDevice) {\n const transport = this.getTransport(connectedDevice.transport);\n transport.map((t) =>\n t.disconnect({\n connectedDevice,\n }),\n );\n }\n}\n"],
5
+ "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBACnCC,EAA2C,qBAO3CC,EAGO,uCAIPC,EAAiC,sDACjCC,EAAmC,0DACnCC,EAA4B,qDAC5BC,EAAiC,mDAK1B,IAAMC,EAAN,KAA0D,CAI/D,YAEEC,EAEiBC,EAEAC,EAIAC,EAEAC,EAEAC,EACjB,CAXiB,aAAAJ,EAEA,0BAAAC,EAIA,4BAAAC,EAEA,+BAAAC,EAEA,iCAAAC,EAIjB,GAFA,KAAK,QAAUH,EAAqB,kBAAkB,EAElDF,EAAY,SAAW,EACzB,WAAK,QAAQ,KACX,yDACF,EAEM,IAAI,2BACR,yDACF,EAGF,UAAWM,KAAaN,EAAa,CACnC,MAAMO,EAAS,KAAK,aAAaD,CAAS,EAE1C,GAAIC,EAAO,OAAO,EAChB,MAAMA,EAAO,QAAQ,CAEzB,CACF,CAtCQ,YAAsC,IAAI,IAC1C,QAuCR,aACEC,EAC2C,CAC3C,MAAMF,EAAYE,EAAQ,CACxB,sBAAuB,KAAK,uBAC5B,qBAAsB,KAAK,qBAC3B,OAAQ,KAAK,QACb,yBAA0B,KAAK,0BAC/B,2BAA4B,KAAK,2BACnC,CAAC,EAED,OAAO,KAAK,qBAAqBF,CAAS,CAC5C,CAEQ,qBACNA,EAC2C,CAG3C,OAFuB,KAAK,aAAaA,EAAU,cAAc,CAAC,EAE/C,OAAO,GACxB,KAAK,QAAQ,KACX,aAAaA,EAAU,cAAc,CAAC,kDACxC,KAEO,QACL,IAAI,8BACF,aAAaA,EAAU,cAAc,CAAC,kDACxC,CACF,IAGF,KAAK,YAAY,IAAIA,EAAU,cAAc,EAAGA,CAAS,KAClD,SAAM,MAAS,EACxB,CAEA,aAAaG,EAAsC,CACjD,OAAO,QAAM,aAAa,KAAK,YAAY,IAAIA,CAAU,CAAC,CAC5D,CAEA,kBAAgC,CAC9B,OAAO,MAAM,KAAK,KAAK,YAAY,OAAO,CAAC,CAC7C,CAEA,gBAAgBC,EAA2C,CACvC,KAAK,aAAaA,EAAgB,SAAS,EACnD,IAAKC,GACbA,EAAE,WAAW,CACX,gBAAAD,CACF,CAAC,CACH,CACF,CACF,EA5FaX,EAANa,EAAA,IADN,cAAW,EAMPC,EAAA,eAAO,mBAAiB,eAAe,GAEvCA,EAAA,eAAO,mBAAiB,SAAS,GAEjCA,EAAA,eAAO,cAAY,6BAA6B,GAIhDA,EAAA,eAAO,mBAAiB,qBAAqB,GAE7CA,EAAA,eAAO,qBAAmB,wBAAwB,GAElDA,EAAA,eAAO,qBAAmB,0BAA0B,IAjB5Cd",
6
+ "names": ["DefaultTransportService_exports", "__export", "DefaultTransportService", "__toCommonJS", "import_inversify", "import_purify_ts", "import_Errors", "import_deviceModelTypes", "import_deviceSessionTypes", "import_loggerTypes", "import_transportDiTypes", "DefaultTransportService", "_transports", "_config", "_loggerModuleFactory", "_deviceModelDataSource", "_apduSenderServiceFactory", "_apduReceiverServiceFactory", "transport", "either", "factory", "identifier", "connectedDevice", "t", "__decorateClass", "__decorateParam"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var s=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var n=Object.prototype.hasOwnProperty;var y=(t,r,p,e)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of i(r))!n.call(t,o)&&o!==p&&s(t,o,{get:()=>r[o],enumerable:!(e=a(r,o))||e.enumerable});return t};var T=t=>y(s({},"__esModule",{value:!0}),t);var c={};module.exports=T(c);
1
+ "use strict";var n=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var c=(t,r,p,e)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of s(r))!i.call(t,o)&&o!==p&&n(t,o,{get:()=>r[o],enumerable:!(e=a(r,o))||e.enumerable});return t};var y=t=>c(n({},"__esModule",{value:!0}),t);var T={};module.exports=y(T);
2
2
  //# sourceMappingURL=TransportService.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/transport/service/TransportService.ts"],
4
- "sourcesContent": ["import { type Either, type Maybe } from \"purify-ts\";\n\nimport { type TransportAlreadyExistsError } from \"@api/index\";\nimport { type Transport, type TransportFactory } from \"@api/types\";\nimport { type DeviceSession } from \"@internal/device-session/model/DeviceSession\";\n\nexport interface TransportService {\n getTransport(transportId: string): Maybe<Transport>;\n getAllTransports(): Transport[];\n addTransport(\n factory: TransportFactory,\n ): Either<TransportAlreadyExistsError, void>;\n closeAllTransports(deviceSessions: DeviceSession[]): Promise<void>;\n}\n"],
4
+ "sourcesContent": ["import { type Either, type Maybe } from \"purify-ts\";\n\nimport { type TransportAlreadyExistsError } from \"@api/transport/model/Errors\";\nimport { type TransportConnectedDevice } from \"@api/transport/model/TransportConnectedDevice\";\nimport { type Transport, type TransportFactory } from \"@api/types\";\n\nexport interface TransportService {\n getTransport(transportId: string): Maybe<Transport>;\n getAllTransports(): Transport[];\n addTransport(\n factory: TransportFactory,\n ): Either<TransportAlreadyExistsError, void>;\n closeConnection(connectedDevice: TransportConnectedDevice): void;\n}\n"],
5
5
  "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
6
  "names": ["TransportService_exports", "__toCommonJS"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var a=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var v=(r,e)=>{for(var t in e)a(r,t,{get:e[t],enumerable:!0})},f=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of c(e))!l.call(r,o)&&o!==t&&a(r,o,{get:()=>e[o],enumerable:!(n=s(e,o))||n.enumerable});return r};var g=r=>f(a({},"__esModule",{value:!0}),r);var d={};v(d,{DefaultTransportService:()=>m});module.exports=g(d);var p=require("../../../logger-publisher/service/DefaultLoggerPublisherService.stub");const i=r=>new p.DefaultLoggerPublisherServiceStub;class m{_transports=new Map;_loggerModuleFactory=i;_config={};_deviceModelDataSource={};_apduSenderServiceFactory=vi.fn();_apduReceiverServiceFactory=vi.fn();_logger=i("TransportServiceMock");addTransport=vi.fn();addTransportInternal=vi.fn();getTransport=vi.fn();getAllTransports=vi.fn();closeAllTransports=vi.fn()}0&&(module.exports={DefaultTransportService});
1
+ "use strict";var a=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var v=Object.prototype.hasOwnProperty;var f=(r,e)=>{for(var t in e)a(r,t,{get:e[t],enumerable:!0})},g=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of s(e))!v.call(r,o)&&o!==t&&a(r,o,{get:()=>e[o],enumerable:!(n=c(e,o))||n.enumerable});return r};var l=r=>g(a({},"__esModule",{value:!0}),r);var d={};f(d,{DefaultTransportService:()=>m});module.exports=l(d);var p=require("../../../logger-publisher/service/DefaultLoggerPublisherService.stub");const i=r=>new p.DefaultLoggerPublisherServiceStub;class m{_transports=new Map;_loggerModuleFactory=i;_config={};_deviceModelDataSource={};_apduSenderServiceFactory=vi.fn();_apduReceiverServiceFactory=vi.fn();_logger=i("TransportServiceMock");addTransport=vi.fn();addTransportInternal=vi.fn();getTransport=vi.fn();getAllTransports=vi.fn();closeConnection=vi.fn()}0&&(module.exports={DefaultTransportService});
2
2
  //# sourceMappingURL=DefaultTransportService.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/internal/transport/service/__mocks__/DefaultTransportService.ts"],
4
- "sourcesContent": ["import { type DeviceModelDataSource } from \"@api/device-model/data/DeviceModelDataSource\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { type Transport } from \"@api/types\";\nimport { DefaultLoggerPublisherServiceStub } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService.stub\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nconst loggerFactory = (_arg: string) => new DefaultLoggerPublisherServiceStub();\n\nexport class DefaultTransportService implements TransportService {\n _transports: Map<string, Transport> = new Map();\n _loggerModuleFactory = loggerFactory;\n _config = {} as DmkConfig;\n _deviceModelDataSource = {} as DeviceModelDataSource;\n _apduSenderServiceFactory = vi.fn();\n _apduReceiverServiceFactory = vi.fn();\n _logger = loggerFactory(\"TransportServiceMock\");\n\n addTransport = vi.fn();\n addTransportInternal = vi.fn();\n getTransport = vi.fn();\n getAllTransports = vi.fn();\n closeAllTransports = vi.fn();\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAGA,IAAAI,EAAkD,iFAGlD,MAAMC,EAAiBC,GAAiB,IAAI,oCAErC,MAAMJ,CAAoD,CAC/D,YAAsC,IAAI,IAC1C,qBAAuBG,EACvB,QAAU,CAAC,EACX,uBAAyB,CAAC,EAC1B,0BAA4B,GAAG,GAAG,EAClC,4BAA8B,GAAG,GAAG,EACpC,QAAUA,EAAc,sBAAsB,EAE9C,aAAe,GAAG,GAAG,EACrB,qBAAuB,GAAG,GAAG,EAC7B,aAAe,GAAG,GAAG,EACrB,iBAAmB,GAAG,GAAG,EACzB,mBAAqB,GAAG,GAAG,CAC7B",
4
+ "sourcesContent": ["import { type DeviceModelDataSource } from \"@api/device-model/data/DeviceModelDataSource\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { type Transport } from \"@api/types\";\nimport { DefaultLoggerPublisherServiceStub } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService.stub\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nconst loggerFactory = (_arg: string) => new DefaultLoggerPublisherServiceStub();\n\nexport class DefaultTransportService implements TransportService {\n _transports: Map<string, Transport> = new Map();\n _loggerModuleFactory = loggerFactory;\n _config = {} as DmkConfig;\n _deviceModelDataSource = {} as DeviceModelDataSource;\n _apduSenderServiceFactory = vi.fn();\n _apduReceiverServiceFactory = vi.fn();\n _logger = loggerFactory(\"TransportServiceMock\");\n\n addTransport = vi.fn();\n addTransportInternal = vi.fn();\n getTransport = vi.fn();\n getAllTransports = vi.fn();\n closeConnection = vi.fn();\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAGA,IAAAI,EAAkD,iFAGlD,MAAMC,EAAiBC,GAAiB,IAAI,oCAErC,MAAMJ,CAAoD,CAC/D,YAAsC,IAAI,IAC1C,qBAAuBG,EACvB,QAAU,CAAC,EACX,uBAAyB,CAAC,EAC1B,0BAA4B,GAAG,GAAG,EAClC,4BAA8B,GAAG,GAAG,EACpC,QAAUA,EAAc,sBAAsB,EAE9C,aAAe,GAAG,GAAG,EACrB,qBAAuB,GAAG,GAAG,EAC7B,aAAe,GAAG,GAAG,EACrB,iBAAmB,GAAG,GAAG,EACzB,gBAAkB,GAAG,GAAG,CAC1B",
6
6
  "names": ["DefaultTransportService_exports", "__export", "DefaultTransportService", "__toCommonJS", "import_DefaultLoggerPublisherService", "loggerFactory", "_arg"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{commandTypes as r}from"./command/di/commandTypes";import{configTypes as c}from"../internal/config/di/configTypes";import{deviceSessionTypes as t}from"../internal/device-session/di/deviceSessionTypes";import{discoveryTypes as s}from"../internal/discovery/di/discoveryTypes";import{sendTypes as a}from"../internal/send/di/sendTypes";import{makeContainer as C}from"../../src/di";import{deviceActionTypes as m}from"./device-action/di/deviceActionTypes";class S{container;constructor({stub:e,transports:o,loggers:n,config:i}={}){this.container=C({stub:e,transports:o,loggers:n,config:i})}getVersion(){return this.container.get(c.GetDmkVersionUseCase).getDmkVersion()}startDiscovering(e){return this.container.get(s.StartDiscoveringUseCase).execute(e)}stopDiscovering(){return this.container.get(s.StopDiscoveringUseCase).execute()}listenToKnownDevices(){return this.container.get(s.ListenToKnownDevicesUseCase).execute()}connect(e){return this.container.get(s.ConnectUseCase).execute(e)}disconnect(e){return this.container.get(s.DisconnectUseCase).execute(e)}sendApdu(e){return this.container.get(a.SendApduUseCase).execute(e)}sendCommand(e){return this.container.get(r.SendCommandUseCase).execute(e)}executeDeviceAction(e){return this.container.get(m.ExecuteDeviceActionUseCase).execute(e)}getConnectedDevice(e){return this.container.get(s.GetConnectedDeviceUseCase).execute(e)}getDeviceSessionState(e){return this.container.get(t.GetDeviceSessionStateUseCase).execute(e)}close(){return this.container.get(t.CloseSessionsUseCase).execute()}listConnectedDevices(){return this.container.get(s.ListConnectedDevicesUseCase).execute()}listenToConnectedDevice(){return this.container.get(s.ListenToConnectedDeviceUseCase).execute()}toggleDeviceSessionRefresher(e){return this.container.get(t.ToggleDeviceSessionRefresherUseCase).execute(e)}}export{S as DeviceManagementKit};
1
+ import{commandTypes as r}from"./command/di/commandTypes";import{configTypes as c}from"../internal/config/di/configTypes";import{deviceSessionTypes as t}from"../internal/device-session/di/deviceSessionTypes";import{discoveryTypes as s}from"../internal/discovery/di/discoveryTypes";import{sendTypes as a}from"../internal/send/di/sendTypes";import{makeContainer as C}from"../../src/di";import{deviceActionTypes as m}from"./device-action/di/deviceActionTypes";class S{container;constructor({stub:e,transports:o,loggers:i,config:n}={}){this.container=C({stub:e,transports:o,loggers:i,config:n})}getVersion(){return this.container.get(c.GetDmkVersionUseCase).getDmkVersion()}startDiscovering(e){return this.container.get(s.StartDiscoveringUseCase).execute(e)}stopDiscovering(){return this.container.get(s.StopDiscoveringUseCase).execute()}listenToAvailableDevices(){return this.container.get(s.ListenToAvailableDevicesUseCase).execute()}connect(e){return this.container.get(s.ConnectUseCase).execute(e)}disconnect(e){return this.container.get(s.DisconnectUseCase).execute(e)}sendApdu(e){return this.container.get(a.SendApduUseCase).execute(e)}sendCommand(e){return this.container.get(r.SendCommandUseCase).execute(e)}executeDeviceAction(e){return this.container.get(m.ExecuteDeviceActionUseCase).execute(e)}getConnectedDevice(e){return this.container.get(s.GetConnectedDeviceUseCase).execute(e)}getDeviceSessionState(e){return this.container.get(t.GetDeviceSessionStateUseCase).execute(e)}close(){return this.container.get(t.CloseSessionsUseCase).execute()}listConnectedDevices(){return this.container.get(s.ListConnectedDevicesUseCase).execute()}listenToConnectedDevice(){return this.container.get(s.ListenToConnectedDeviceUseCase).execute()}toggleDeviceSessionRefresher(e){return this.container.get(t.ToggleDeviceSessionRefresherUseCase).execute(e)}}export{S as DeviceManagementKit};
2
2
  //# sourceMappingURL=DeviceManagementKit.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/api/DeviceManagementKit.ts"],
4
- "sourcesContent": ["import { type Container } from \"inversify\";\nimport { type Observable } from \"rxjs\";\n\nimport { commandTypes } from \"@api/command/di/commandTypes\";\nimport { type CommandResult } from \"@api/command/model/CommandResult\";\nimport {\n type SendCommandUseCase,\n type SendCommandUseCaseArgs,\n} from \"@api/command/use-case/SendCommandUseCase\";\nimport {\n type ExecuteDeviceActionUseCase,\n type ExecuteDeviceActionUseCaseArgs,\n} from \"@api/device-action/use-case/ExecuteDeviceActionUseCase\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { type DeviceSessionId } from \"@api/device-session/types\";\nimport { type ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport {\n type ConnectUseCaseArgs,\n type DisconnectUseCaseArgs,\n type DiscoveredDevice,\n type GetConnectedDeviceUseCaseArgs,\n type SendApduUseCaseArgs,\n type StartDiscoveringUseCaseArgs,\n} from \"@api/types\";\nimport { configTypes } from \"@internal/config/di/configTypes\";\nimport { type GetDmkVersionUseCase } from \"@internal/config/use-case/GetDmkVersionUseCase\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { type CloseSessionsUseCase } from \"@internal/device-session/use-case/CloseSessionsUseCase\";\nimport { type GetDeviceSessionStateUseCase } from \"@internal/device-session/use-case/GetDeviceSessionStateUseCase\";\nimport { discoveryTypes } from \"@internal/discovery/di/discoveryTypes\";\nimport { type ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { type DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { type GetConnectedDeviceUseCase } from \"@internal/discovery/use-case/GetConnectedDeviceUseCase\";\nimport { type ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport { type ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\nimport { type ListenToKnownDevicesUseCase } from \"@internal/discovery/use-case/ListenToKnownDevicesUseCase\";\nimport type { StartDiscoveringUseCase } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nimport type { StopDiscoveringUseCase } from \"@internal/discovery/use-case/StopDiscoveringUseCase\";\nimport { sendTypes } from \"@internal/send/di/sendTypes\";\nimport { type SendApduUseCase } from \"@internal/send/use-case/SendApduUseCase\";\nimport { makeContainer, type MakeContainerProps } from \"@root/src/di\";\n\nimport {\n type DeviceActionIntermediateValue,\n type ExecuteDeviceActionReturnType,\n} from \"./device-action/DeviceAction\";\nimport { deviceActionTypes } from \"./device-action/di/deviceActionTypes\";\nimport { type ToggleDeviceSessionRefresherUseCase } from \"./device-session/use-case/ToggleDeviceSessionRefresher\";\nimport { type DmkError } from \"./Error\";\n\n/**\n * The main class to interact with the Device Management Kit.\n *\n * NB: do not instantiate this class directly, instead, use `LedgerDMKBuilder`.\n */\nexport class DeviceManagementKit {\n readonly container: Container;\n /** @internal */\n constructor({\n stub,\n transports,\n loggers,\n config,\n }: Partial<MakeContainerProps> = {}) {\n // NOTE: MakeContainerProps might not be the exact type here\n // For the init of the project this is sufficient, but we might need to\n // update the constructor arguments as we go (we might have more than just the container config)\n this.container = makeContainer({\n stub,\n transports,\n loggers,\n config,\n });\n }\n\n /**\n * Returns a promise resolving to the version of the SDK.\n */\n getVersion(): Promise<string> {\n return this.container\n .get<GetDmkVersionUseCase>(configTypes.GetDmkVersionUseCase)\n .getDmkVersion();\n }\n\n /**\n * Starts discovering devices connected.\n *\n * For the WeHID implementation, this use-case needs to be called as a result\n * of an user interaction (button \"click\" event for ex).\n *\n * @param {StartDiscoveringUseCaseArgs} args - The transport to use for discover, or undefined to discover from all transports.\n * @returns {Observable<DiscoveredDevice>} An observable of discovered devices.\n */\n startDiscovering(\n args: StartDiscoveringUseCaseArgs,\n ): Observable<DiscoveredDevice> {\n return this.container\n .get<StartDiscoveringUseCase>(discoveryTypes.StartDiscoveringUseCase)\n .execute(args);\n }\n\n /**\n * Stops discovering devices connected.\n */\n stopDiscovering() {\n return this.container\n .get<StopDiscoveringUseCase>(discoveryTypes.StopDiscoveringUseCase)\n .execute();\n }\n\n /**\n * Listen to list of known discovered devices (and later BLE).\n *\n * @returns {Observable<DiscoveredDevice[]>} An observable of known discovered devices.\n */\n listenToKnownDevices(): Observable<DiscoveredDevice[]> {\n return this.container\n .get<ListenToKnownDevicesUseCase>(\n discoveryTypes.ListenToKnownDevicesUseCase,\n )\n .execute();\n }\n\n /**\n * Connects to a device previously discovered with `DeviceManagementKit.startDiscovering`.\n * Creates a new device session which:\n * - Represents the connection to the device.\n * - Is terminated upon disconnection of the device.\n * - Exposes the device state through an observable (see `DeviceManagementKit.getDeviceSessionState`)\n * - Should be used for all subsequent communication with the device.\n *\n * @param {ConnectUseCaseArgs} args - The device ID (obtained in discovery) to connect to.\n * @returns The session ID to use for further communication with the device.\n */\n connect(args: ConnectUseCaseArgs): Promise<DeviceSessionId> {\n return this.container\n .get<ConnectUseCase>(discoveryTypes.ConnectUseCase)\n .execute(args);\n }\n\n /**\n * Disconnects to a discovered device.\n *\n * @param {DisconnectUseCaseArgs} args - The session ID to disconnect.\n */\n disconnect(args: DisconnectUseCaseArgs): Promise<void> {\n return this.container\n .get<DisconnectUseCase>(discoveryTypes.DisconnectUseCase)\n .execute(args);\n }\n\n /**\n * Sends an APDU command to a device through a device session.\n *\n * @param {SendApduUseCaseArgs} args - The device session ID and APDU command to send.\n */\n sendApdu(args: SendApduUseCaseArgs): Promise<ApduResponse> {\n return this.container\n .get<SendApduUseCase>(sendTypes.SendApduUseCase)\n .execute(args);\n }\n\n /**\n * Sends a command to a device through a device session.\n *\n * @param {SendCommandUseCaseArgs<Response, Args, ErrorCodes>} args - The device session ID, command, command error codes and command parameters to send.\n * @returns A promise resolving with the response from the command.\n */\n sendCommand<Response, Args, ErrorCodes>(\n args: SendCommandUseCaseArgs<Response, Args, ErrorCodes>,\n ): Promise<CommandResult<Response, ErrorCodes>> {\n return this.container\n .get<SendCommandUseCase>(commandTypes.SendCommandUseCase)\n .execute(args);\n }\n\n executeDeviceAction<\n Output,\n Input,\n Error extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n >(\n args: ExecuteDeviceActionUseCaseArgs<\n Output,\n Input,\n Error,\n IntermediateValue\n >,\n ): ExecuteDeviceActionReturnType<Output, Error, IntermediateValue> {\n return this.container\n .get<ExecuteDeviceActionUseCase>(\n deviceActionTypes.ExecuteDeviceActionUseCase,\n )\n .execute(args);\n }\n\n /**\n * Gets the connected from its device session ID.\n *\n * @param {GetConnectedDeviceUseCaseArgs} args - The device session ID.\n * @returns {ConnectedDevice} The connected device.\n */\n getConnectedDevice(args: GetConnectedDeviceUseCaseArgs): ConnectedDevice {\n return this.container\n .get<GetConnectedDeviceUseCase>(discoveryTypes.GetConnectedDeviceUseCase)\n .execute(args);\n }\n\n /**\n * Gets the device state of a session.\n *\n * @param {{DeviceSessionId}} args - The device session ID.\n * @returns {Observable<DeviceSessionState>} An observable of the session device state.\n */\n getDeviceSessionState(args: {\n sessionId: DeviceSessionId;\n }): Observable<DeviceSessionState> {\n return this.container\n .get<GetDeviceSessionStateUseCase>(\n deviceSessionTypes.GetDeviceSessionStateUseCase,\n )\n .execute(args);\n }\n\n /**\n * Close the Device Management kit.\n *\n */\n close() {\n return this.container\n .get<CloseSessionsUseCase>(deviceSessionTypes.CloseSessionsUseCase)\n .execute();\n }\n\n /**\n * Lists all connected devices.\n *\n * @returns {ConnectedDevice[]} The list of device sessions.\n */\n listConnectedDevices(): ConnectedDevice[] {\n return this.container\n .get<ListConnectedDevicesUseCase>(\n discoveryTypes.ListConnectedDevicesUseCase,\n )\n .execute();\n }\n\n /**\n * Listen to connected device.\n *\n * @returns {Observable<ConnectedDevice>} An observable of connected device.\n */\n listenToConnectedDevice(): Observable<ConnectedDevice> {\n return this.container\n .get<ListenToConnectedDeviceUseCase>(\n discoveryTypes.ListenToConnectedDeviceUseCase,\n )\n .execute();\n }\n\n /**\n * Toggle the device session refresher.\n *\n * @param {DeviceSessionId} args - The device session ID.\n */\n toggleDeviceSessionRefresher(args: {\n sessionId: DeviceSessionId;\n enabled: boolean;\n }) {\n return this.container\n .get<ToggleDeviceSessionRefresherUseCase>(\n deviceSessionTypes.ToggleDeviceSessionRefresherUseCase,\n )\n .execute(args);\n }\n}\n"],
5
- "mappings": "AAGA,OAAS,gBAAAA,MAAoB,+BAsB7B,OAAS,eAAAC,MAAmB,kCAE5B,OAAS,sBAAAC,MAA0B,iDAGnC,OAAS,kBAAAC,MAAsB,wCAS/B,OAAS,aAAAC,MAAiB,8BAE1B,OAAS,iBAAAC,MAA8C,eAMvD,OAAS,qBAAAC,MAAyB,uCAS3B,MAAMC,CAAoB,CACtB,UAET,YAAY,CACV,KAAAC,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,EAAiC,CAAC,EAAG,CAInC,KAAK,UAAYN,EAAc,CAC7B,KAAAG,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,CAAC,CACH,CAKA,YAA8B,CAC5B,OAAO,KAAK,UACT,IAA0BV,EAAY,oBAAoB,EAC1D,cAAc,CACnB,CAWA,iBACEW,EAC8B,CAC9B,OAAO,KAAK,UACT,IAA6BT,EAAe,uBAAuB,EACnE,QAAQS,CAAI,CACjB,CAKA,iBAAkB,CAChB,OAAO,KAAK,UACT,IAA4BT,EAAe,sBAAsB,EACjE,QAAQ,CACb,CAOA,sBAAuD,CACrD,OAAO,KAAK,UACT,IACCA,EAAe,2BACjB,EACC,QAAQ,CACb,CAaA,QAAQS,EAAoD,CAC1D,OAAO,KAAK,UACT,IAAoBT,EAAe,cAAc,EACjD,QAAQS,CAAI,CACjB,CAOA,WAAWA,EAA4C,CACrD,OAAO,KAAK,UACT,IAAuBT,EAAe,iBAAiB,EACvD,QAAQS,CAAI,CACjB,CAOA,SAASA,EAAkD,CACzD,OAAO,KAAK,UACT,IAAqBR,EAAU,eAAe,EAC9C,QAAQQ,CAAI,CACjB,CAQA,YACEA,EAC8C,CAC9C,OAAO,KAAK,UACT,IAAwBZ,EAAa,kBAAkB,EACvD,QAAQY,CAAI,CACjB,CAEA,oBAMEA,EAMiE,CACjE,OAAO,KAAK,UACT,IACCN,EAAkB,0BACpB,EACC,QAAQM,CAAI,CACjB,CAQA,mBAAmBA,EAAsD,CACvE,OAAO,KAAK,UACT,IAA+BT,EAAe,yBAAyB,EACvE,QAAQS,CAAI,CACjB,CAQA,sBAAsBA,EAEa,CACjC,OAAO,KAAK,UACT,IACCV,EAAmB,4BACrB,EACC,QAAQU,CAAI,CACjB,CAMA,OAAQ,CACN,OAAO,KAAK,UACT,IAA0BV,EAAmB,oBAAoB,EACjE,QAAQ,CACb,CAOA,sBAA0C,CACxC,OAAO,KAAK,UACT,IACCC,EAAe,2BACjB,EACC,QAAQ,CACb,CAOA,yBAAuD,CACrD,OAAO,KAAK,UACT,IACCA,EAAe,8BACjB,EACC,QAAQ,CACb,CAOA,6BAA6BS,EAG1B,CACD,OAAO,KAAK,UACT,IACCV,EAAmB,mCACrB,EACC,QAAQU,CAAI,CACjB,CACF",
4
+ "sourcesContent": ["import { type Container } from \"inversify\";\nimport { type Observable } from \"rxjs\";\n\nimport { commandTypes } from \"@api/command/di/commandTypes\";\nimport { type CommandResult } from \"@api/command/model/CommandResult\";\nimport {\n type SendCommandUseCase,\n type SendCommandUseCaseArgs,\n} from \"@api/command/use-case/SendCommandUseCase\";\nimport {\n type ExecuteDeviceActionUseCase,\n type ExecuteDeviceActionUseCaseArgs,\n} from \"@api/device-action/use-case/ExecuteDeviceActionUseCase\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { type DeviceSessionId } from \"@api/device-session/types\";\nimport { type ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport {\n type ConnectUseCaseArgs,\n type DisconnectUseCaseArgs,\n type DiscoveredDevice,\n type GetConnectedDeviceUseCaseArgs,\n type SendApduUseCaseArgs,\n type StartDiscoveringUseCaseArgs,\n} from \"@api/types\";\nimport { configTypes } from \"@internal/config/di/configTypes\";\nimport { type GetDmkVersionUseCase } from \"@internal/config/use-case/GetDmkVersionUseCase\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { type CloseSessionsUseCase } from \"@internal/device-session/use-case/CloseSessionsUseCase\";\nimport { type GetDeviceSessionStateUseCase } from \"@internal/device-session/use-case/GetDeviceSessionStateUseCase\";\nimport { discoveryTypes } from \"@internal/discovery/di/discoveryTypes\";\nimport { type ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { type DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { type GetConnectedDeviceUseCase } from \"@internal/discovery/use-case/GetConnectedDeviceUseCase\";\nimport { type ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport { type ListenToAvailableDevicesUseCase } from \"@internal/discovery/use-case/ListenToAvailableDevicesUseCase\";\nimport { type ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\nimport type { StartDiscoveringUseCase } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nimport type { StopDiscoveringUseCase } from \"@internal/discovery/use-case/StopDiscoveringUseCase\";\nimport { sendTypes } from \"@internal/send/di/sendTypes\";\nimport { type SendApduUseCase } from \"@internal/send/use-case/SendApduUseCase\";\nimport { makeContainer, type MakeContainerProps } from \"@root/src/di\";\n\nimport {\n type DeviceActionIntermediateValue,\n type ExecuteDeviceActionReturnType,\n} from \"./device-action/DeviceAction\";\nimport { deviceActionTypes } from \"./device-action/di/deviceActionTypes\";\nimport { type ToggleDeviceSessionRefresherUseCase } from \"./device-session/use-case/ToggleDeviceSessionRefresher\";\nimport { type DmkError } from \"./Error\";\n\n/**\n * The main class to interact with the Device Management Kit.\n *\n * NB: do not instantiate this class directly, instead, use `LedgerDMKBuilder`.\n */\nexport class DeviceManagementKit {\n readonly container: Container;\n /** @internal */\n constructor({\n stub,\n transports,\n loggers,\n config,\n }: Partial<MakeContainerProps> = {}) {\n // NOTE: MakeContainerProps might not be the exact type here\n // For the init of the project this is sufficient, but we might need to\n // update the constructor arguments as we go (we might have more than just the container config)\n this.container = makeContainer({\n stub,\n transports,\n loggers,\n config,\n });\n }\n\n /**\n * Returns a promise resolving to the version of the SDK.\n */\n getVersion(): Promise<string> {\n return this.container\n .get<GetDmkVersionUseCase>(configTypes.GetDmkVersionUseCase)\n .getDmkVersion();\n }\n\n /**\n * Starts discovering devices connected.\n *\n * For the WeHID implementation, this use-case needs to be called as a result\n * of an user interaction (button \"click\" event for ex).\n *\n * @param {StartDiscoveringUseCaseArgs} args - The transport to use for discover, or undefined to discover from all transports.\n * @returns {Observable<DiscoveredDevice>} An observable of discovered devices.\n */\n startDiscovering(\n args: StartDiscoveringUseCaseArgs,\n ): Observable<DiscoveredDevice> {\n return this.container\n .get<StartDiscoveringUseCase>(discoveryTypes.StartDiscoveringUseCase)\n .execute(args);\n }\n\n /**\n * Stops discovering devices connected.\n */\n stopDiscovering() {\n return this.container\n .get<StopDiscoveringUseCase>(discoveryTypes.StopDiscoveringUseCase)\n .execute();\n }\n\n /**\n * Listen to list of known discovered devices (and later BLE).\n *\n * @returns {Observable<DiscoveredDevice[]>} An observable of known discovered devices.\n */\n listenToAvailableDevices(): Observable<DiscoveredDevice[]> {\n return this.container\n .get<ListenToAvailableDevicesUseCase>(\n discoveryTypes.ListenToAvailableDevicesUseCase,\n )\n .execute();\n }\n\n /**\n * Connects to a device previously discovered with `DeviceManagementKit.startDiscovering`.\n * Creates a new device session which:\n * - Represents the connection to the device.\n * - Is terminated upon disconnection of the device.\n * - Exposes the device state through an observable (see `DeviceManagementKit.getDeviceSessionState`)\n * - Should be used for all subsequent communication with the device.\n *\n * @param {ConnectUseCaseArgs} args - The device ID (obtained in discovery) to connect to.\n * @returns The session ID to use for further communication with the device.\n */\n connect(args: ConnectUseCaseArgs): Promise<DeviceSessionId> {\n return this.container\n .get<ConnectUseCase>(discoveryTypes.ConnectUseCase)\n .execute(args);\n }\n\n /**\n * Disconnects to a discovered device.\n *\n * @param {DisconnectUseCaseArgs} args - The session ID to disconnect.\n */\n disconnect(args: DisconnectUseCaseArgs): Promise<void> {\n return this.container\n .get<DisconnectUseCase>(discoveryTypes.DisconnectUseCase)\n .execute(args);\n }\n\n /**\n * Sends an APDU command to a device through a device session.\n *\n * @param {SendApduUseCaseArgs} args - The device session ID and APDU command to send.\n */\n sendApdu(args: SendApduUseCaseArgs): Promise<ApduResponse> {\n return this.container\n .get<SendApduUseCase>(sendTypes.SendApduUseCase)\n .execute(args);\n }\n\n /**\n * Sends a command to a device through a device session.\n *\n * @param {SendCommandUseCaseArgs<Response, Args, ErrorCodes>} args - The device session ID, command, command error codes and command parameters to send.\n * @returns A promise resolving with the response from the command.\n */\n sendCommand<Response, Args, ErrorCodes>(\n args: SendCommandUseCaseArgs<Response, Args, ErrorCodes>,\n ): Promise<CommandResult<Response, ErrorCodes>> {\n return this.container\n .get<SendCommandUseCase>(commandTypes.SendCommandUseCase)\n .execute(args);\n }\n\n executeDeviceAction<\n Output,\n Input,\n Error extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n >(\n args: ExecuteDeviceActionUseCaseArgs<\n Output,\n Input,\n Error,\n IntermediateValue\n >,\n ): ExecuteDeviceActionReturnType<Output, Error, IntermediateValue> {\n return this.container\n .get<ExecuteDeviceActionUseCase>(\n deviceActionTypes.ExecuteDeviceActionUseCase,\n )\n .execute(args);\n }\n\n /**\n * Gets the connected from its device session ID.\n *\n * @param {GetConnectedDeviceUseCaseArgs} args - The device session ID.\n * @returns {ConnectedDevice} The connected device.\n */\n getConnectedDevice(args: GetConnectedDeviceUseCaseArgs): ConnectedDevice {\n return this.container\n .get<GetConnectedDeviceUseCase>(discoveryTypes.GetConnectedDeviceUseCase)\n .execute(args);\n }\n\n /**\n * Gets the device state of a session.\n *\n * @param {{DeviceSessionId}} args - The device session ID.\n * @returns {Observable<DeviceSessionState>} An observable of the session device state.\n */\n getDeviceSessionState(args: {\n sessionId: DeviceSessionId;\n }): Observable<DeviceSessionState> {\n return this.container\n .get<GetDeviceSessionStateUseCase>(\n deviceSessionTypes.GetDeviceSessionStateUseCase,\n )\n .execute(args);\n }\n\n /**\n * Close the Device Management kit.\n *\n */\n close() {\n return this.container\n .get<CloseSessionsUseCase>(deviceSessionTypes.CloseSessionsUseCase)\n .execute();\n }\n\n /**\n * Lists all connected devices.\n *\n * @returns {ConnectedDevice[]} The list of device sessions.\n */\n listConnectedDevices(): ConnectedDevice[] {\n return this.container\n .get<ListConnectedDevicesUseCase>(\n discoveryTypes.ListConnectedDevicesUseCase,\n )\n .execute();\n }\n\n /**\n * Listen to connected device.\n *\n * @returns {Observable<ConnectedDevice>} An observable of connected device.\n */\n listenToConnectedDevice(): Observable<ConnectedDevice> {\n return this.container\n .get<ListenToConnectedDeviceUseCase>(\n discoveryTypes.ListenToConnectedDeviceUseCase,\n )\n .execute();\n }\n\n /**\n * Toggle the device session refresher.\n *\n * @param {DeviceSessionId} args - The device session ID.\n */\n toggleDeviceSessionRefresher(args: {\n sessionId: DeviceSessionId;\n enabled: boolean;\n }) {\n return this.container\n .get<ToggleDeviceSessionRefresherUseCase>(\n deviceSessionTypes.ToggleDeviceSessionRefresherUseCase,\n )\n .execute(args);\n }\n}\n"],
5
+ "mappings": "AAGA,OAAS,gBAAAA,MAAoB,+BAsB7B,OAAS,eAAAC,MAAmB,kCAE5B,OAAS,sBAAAC,MAA0B,iDAGnC,OAAS,kBAAAC,MAAsB,wCAS/B,OAAS,aAAAC,MAAiB,8BAE1B,OAAS,iBAAAC,MAA8C,eAMvD,OAAS,qBAAAC,MAAyB,uCAS3B,MAAMC,CAAoB,CACtB,UAET,YAAY,CACV,KAAAC,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,EAAiC,CAAC,EAAG,CAInC,KAAK,UAAYN,EAAc,CAC7B,KAAAG,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,CAAC,CACH,CAKA,YAA8B,CAC5B,OAAO,KAAK,UACT,IAA0BV,EAAY,oBAAoB,EAC1D,cAAc,CACnB,CAWA,iBACEW,EAC8B,CAC9B,OAAO,KAAK,UACT,IAA6BT,EAAe,uBAAuB,EACnE,QAAQS,CAAI,CACjB,CAKA,iBAAkB,CAChB,OAAO,KAAK,UACT,IAA4BT,EAAe,sBAAsB,EACjE,QAAQ,CACb,CAOA,0BAA2D,CACzD,OAAO,KAAK,UACT,IACCA,EAAe,+BACjB,EACC,QAAQ,CACb,CAaA,QAAQS,EAAoD,CAC1D,OAAO,KAAK,UACT,IAAoBT,EAAe,cAAc,EACjD,QAAQS,CAAI,CACjB,CAOA,WAAWA,EAA4C,CACrD,OAAO,KAAK,UACT,IAAuBT,EAAe,iBAAiB,EACvD,QAAQS,CAAI,CACjB,CAOA,SAASA,EAAkD,CACzD,OAAO,KAAK,UACT,IAAqBR,EAAU,eAAe,EAC9C,QAAQQ,CAAI,CACjB,CAQA,YACEA,EAC8C,CAC9C,OAAO,KAAK,UACT,IAAwBZ,EAAa,kBAAkB,EACvD,QAAQY,CAAI,CACjB,CAEA,oBAMEA,EAMiE,CACjE,OAAO,KAAK,UACT,IACCN,EAAkB,0BACpB,EACC,QAAQM,CAAI,CACjB,CAQA,mBAAmBA,EAAsD,CACvE,OAAO,KAAK,UACT,IAA+BT,EAAe,yBAAyB,EACvE,QAAQS,CAAI,CACjB,CAQA,sBAAsBA,EAEa,CACjC,OAAO,KAAK,UACT,IACCV,EAAmB,4BACrB,EACC,QAAQU,CAAI,CACjB,CAMA,OAAQ,CACN,OAAO,KAAK,UACT,IAA0BV,EAAmB,oBAAoB,EACjE,QAAQ,CACb,CAOA,sBAA0C,CACxC,OAAO,KAAK,UACT,IACCC,EAAe,2BACjB,EACC,QAAQ,CACb,CAOA,yBAAuD,CACrD,OAAO,KAAK,UACT,IACCA,EAAe,8BACjB,EACC,QAAQ,CACb,CAOA,6BAA6BS,EAG1B,CACD,OAAO,KAAK,UACT,IACCV,EAAmB,mCACrB,EACC,QAAQU,CAAI,CACjB,CACF",
6
6
  "names": ["commandTypes", "configTypes", "deviceSessionTypes", "discoveryTypes", "sendTypes", "makeContainer", "deviceActionTypes", "DeviceManagementKit", "stub", "transports", "loggers", "config", "args"]
7
7
  }
@@ -1,2 +1,2 @@
1
- class i{constructor(){}getIdentifier=vi.fn();isSupported=vi.fn();startDiscovering=vi.fn();stopDiscovering=vi.fn();listenToKnownDevices=vi.fn();connect=vi.fn();disconnect=vi.fn()}export{i as TransportMock};
1
+ class n{constructor(){}getIdentifier=vi.fn();isSupported=vi.fn();startDiscovering=vi.fn();stopDiscovering=vi.fn();listenToAvailableDevices=vi.fn();connect=vi.fn();disconnect=vi.fn()}export{n as TransportMock};
2
2
  //# sourceMappingURL=TransportMock.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/api/transport/model/__mocks__/TransportMock.ts"],
4
- "sourcesContent": ["import { type Transport } from \"@api/transport/model/Transport\";\n\nexport class TransportMock implements Transport {\n constructor() {}\n getIdentifier = vi.fn();\n isSupported = vi.fn();\n startDiscovering = vi.fn();\n stopDiscovering = vi.fn();\n listenToKnownDevices = vi.fn();\n connect = vi.fn();\n disconnect = vi.fn();\n}\n"],
5
- "mappings": "AAEO,MAAMA,CAAmC,CAC9C,aAAc,CAAC,CACf,cAAgB,GAAG,GAAG,EACtB,YAAc,GAAG,GAAG,EACpB,iBAAmB,GAAG,GAAG,EACzB,gBAAkB,GAAG,GAAG,EACxB,qBAAuB,GAAG,GAAG,EAC7B,QAAU,GAAG,GAAG,EAChB,WAAa,GAAG,GAAG,CACrB",
4
+ "sourcesContent": ["import { type Transport } from \"@api/transport/model/Transport\";\n\nexport class TransportMock implements Transport {\n constructor() {}\n getIdentifier = vi.fn();\n isSupported = vi.fn();\n startDiscovering = vi.fn();\n stopDiscovering = vi.fn();\n listenToAvailableDevices = vi.fn();\n connect = vi.fn();\n disconnect = vi.fn();\n}\n"],
5
+ "mappings": "AAEO,MAAMA,CAAmC,CAC9C,aAAc,CAAC,CACf,cAAgB,GAAG,GAAG,EACtB,YAAc,GAAG,GAAG,EACpB,iBAAmB,GAAG,GAAG,EACzB,gBAAkB,GAAG,GAAG,EACxB,yBAA2B,GAAG,GAAG,EACjC,QAAU,GAAG,GAAG,EAChB,WAAa,GAAG,GAAG,CACrB",
6
6
  "names": ["TransportMock"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var a=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var S=(t,e,r,s)=>{for(var i=s>1?void 0:s?m(e,r):e,c=t.length-1,n;c>=0;c--)(n=t[c])&&(i=(s?n(e,r,i):n(i))||i);return s&&i&&a(e,r,i),i},v=(t,e)=>(r,s)=>e(r,s,t);import{inject as p,injectable as D}from"inversify";import{deviceSessionTypes as T}from"../../device-session/di/deviceSessionTypes";import{transportDiTypes as d}from"../../transport/di/transportDiTypes";let o=class{_sessionService;_transportService;constructor(e,r){this._sessionService=e,this._transportService=r}async execute(){const e=this._sessionService.getDeviceSessions();await this._transportService.closeAllTransports(e);for(const r of e)this._sessionService.removeDeviceSession(r.id)}};o=S([D(),v(0,p(T.DeviceSessionService)),v(1,p(d.TransportService))],o);export{o as CloseSessionsUseCase};
1
+ var a=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var S=(o,e,i,s)=>{for(var r=s>1?void 0:s?m(e,i):e,t=o.length-1,n;t>=0;t--)(n=o[t])&&(r=(s?n(e,i,r):n(r))||r);return s&&r&&a(e,i,r),r},v=(o,e)=>(i,s)=>e(i,s,o);import{inject as p,injectable as D}from"inversify";import{deviceSessionTypes as d}from"../../device-session/di/deviceSessionTypes";import{transportDiTypes as f}from"../../transport/di/transportDiTypes";let c=class{_sessionService;_transportService;constructor(e,i){this._sessionService=e,this._transportService=i}execute(){const e=this._sessionService.getDeviceSessions();for(const i of e)this._transportService.closeConnection(i.connectedDevice),this._sessionService.removeDeviceSession(i.id)}};c=S([D(),v(0,p(d.DeviceSessionService)),v(1,p(f.TransportService))],c);export{c as CloseSessionsUseCase};
2
2
  //# sourceMappingURL=CloseSessionsUseCase.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/device-session/use-case/CloseSessionsUseCase.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport type { DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\nimport type { TransportService } from \"@internal/transport/service/TransportService\";\n\n@injectable()\nexport class CloseSessionsUseCase {\n private readonly _sessionService: DeviceSessionService;\n private readonly _transportService: TransportService;\n constructor(\n @inject(deviceSessionTypes.DeviceSessionService)\n sessionService: DeviceSessionService,\n @inject(transportDiTypes.TransportService)\n transportService: TransportService,\n ) {\n this._sessionService = sessionService;\n this._transportService = transportService;\n }\n\n async execute() {\n const deviceSessions = this._sessionService.getDeviceSessions();\n\n await this._transportService.closeAllTransports(deviceSessions);\n for (const dSession of deviceSessions) {\n this._sessionService.removeDeviceSession(dSession.id);\n }\n }\n}\n"],
5
- "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YAEnC,OAAS,sBAAAC,MAA0B,iDAEnC,OAAS,oBAAAC,MAAwB,0CAI1B,IAAMC,EAAN,KAA2B,CACf,gBACA,kBACjB,YAEEC,EAEAC,EACA,CACA,KAAK,gBAAkBD,EACvB,KAAK,kBAAoBC,CAC3B,CAEA,MAAM,SAAU,CACd,MAAMC,EAAiB,KAAK,gBAAgB,kBAAkB,EAE9D,MAAM,KAAK,kBAAkB,mBAAmBA,CAAc,EAC9D,UAAWC,KAAYD,EACrB,KAAK,gBAAgB,oBAAoBC,EAAS,EAAE,CAExD,CACF,EArBaJ,EAANK,EAAA,CADNC,EAAW,EAKPC,EAAA,EAAAC,EAAOC,EAAmB,oBAAoB,GAE9CF,EAAA,EAAAC,EAAOE,EAAiB,gBAAgB,IANhCV",
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport type { DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\nimport type { TransportService } from \"@internal/transport/service/TransportService\";\n\n@injectable()\nexport class CloseSessionsUseCase {\n private readonly _sessionService: DeviceSessionService;\n private readonly _transportService: TransportService;\n constructor(\n @inject(deviceSessionTypes.DeviceSessionService)\n sessionService: DeviceSessionService,\n @inject(transportDiTypes.TransportService)\n transportService: TransportService,\n ) {\n this._sessionService = sessionService;\n this._transportService = transportService;\n }\n\n execute() {\n const deviceSessions = this._sessionService.getDeviceSessions();\n\n for (const dSession of deviceSessions) {\n this._transportService.closeConnection(dSession.connectedDevice);\n this._sessionService.removeDeviceSession(dSession.id);\n }\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YAEnC,OAAS,sBAAAC,MAA0B,iDAEnC,OAAS,oBAAAC,MAAwB,0CAI1B,IAAMC,EAAN,KAA2B,CACf,gBACA,kBACjB,YAEEC,EAEAC,EACA,CACA,KAAK,gBAAkBD,EACvB,KAAK,kBAAoBC,CAC3B,CAEA,SAAU,CACR,MAAMC,EAAiB,KAAK,gBAAgB,kBAAkB,EAE9D,UAAWC,KAAYD,EACrB,KAAK,kBAAkB,gBAAgBC,EAAS,eAAe,EAC/D,KAAK,gBAAgB,oBAAoBA,EAAS,EAAE,CAExD,CACF,EArBaJ,EAANK,EAAA,CADNC,EAAW,EAKPC,EAAA,EAAAC,EAAOC,EAAmB,oBAAoB,GAE9CF,EAAA,EAAAC,EAAOE,EAAiB,gBAAgB,IANhCV",
6
6
  "names": ["inject", "injectable", "deviceSessionTypes", "transportDiTypes", "CloseSessionsUseCase", "sessionService", "transportService", "deviceSessions", "dSession", "__decorateClass", "injectable", "__decorateParam", "inject", "deviceSessionTypes", "transportDiTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{deviceSessionStubBuilder as S}from"../../device-session/model/DeviceSession.stub";import{DefaultDeviceSessionService as m}from"../../device-session/service/DefaultDeviceSessionService";import{CloseSessionsUseCase as p}from"../../device-session/use-case/CloseSessionsUseCase";import{DefaultLoggerPublisherService as l}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as u}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as f}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as v}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as D}from"../../secure-channel/service/DefaultSecureChannelService";import{DefaultTransportService as g}from"../../transport/service/__mocks__/DefaultTransportService";let o,i,a,t,n,r,c;describe.skip("CloseSessionsUseCase",()=>{beforeEach(()=>{o=new l([],"close-sessions-use-case-test"),i=new u({}),a=new f(i),t=new v({}),n=new D(t),r=new m(()=>o),c=new g}),it("should be able to close every session",()=>{[...Array(10).keys()].map(e=>{const s=S({id:e.toString()},()=>o,a,n);return vi.spyOn(s,"close"),s}).forEach(e=>r.addDeviceSession(e)),new p(r,c).execute();for(const e of r.getDeviceSessions())expect(e.close).toHaveBeenCalled()})});
1
+ import{deviceSessionStubBuilder as S}from"../../device-session/model/DeviceSession.stub";import{DefaultDeviceSessionService as m}from"../../device-session/service/DefaultDeviceSessionService";import{CloseSessionsUseCase as l}from"../../device-session/use-case/CloseSessionsUseCase";import{DefaultLoggerPublisherService as p}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as u}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as f}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as v}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as D}from"../../secure-channel/service/DefaultSecureChannelService";import{DefaultTransportService as g}from"../../transport/service/__mocks__/DefaultTransportService";let o,i,a,t,n,r,c;describe("CloseSessionsUseCase",()=>{beforeEach(()=>{o=new p([],"close-sessions-use-case-test"),i=new u({}),a=new f(i),t=new v({}),n=new D(t),r=new m(()=>o),c=new g}),it("should be able to close every session",()=>{[...Array(10).keys()].map(e=>{const s=S({id:e.toString()},()=>o,a,n);return vi.spyOn(s,"close"),s}).forEach(e=>r.addDeviceSession(e)),new l(r,c).execute();for(const e of r.getDeviceSessions())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 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\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\nimport { DefaultTransportService } from \"@internal/transport/service/__mocks__/DefaultTransportService\";\n\nlet logger: LoggerPublisherService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\nlet sessionService: DeviceSessionService;\nlet transportService: DefaultTransportService;\n\n// @TODO Fix this test with vi.spyOn session close [SNAPSHOT PURPOSE]\ndescribe.skip(\"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 secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n transportService = new DefaultTransportService();\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 secureChannel,\n );\n vi.spyOn(session, \"close\");\n return session;\n });\n sessions.forEach((session) => sessionService.addDeviceSession(session));\n const useCase = new CloseSessionsUseCase(sessionService, transportService);\n //when\n useCase.execute();\n //then\n for (const session of sessionService.getDeviceSessions()) {\n expect(session.close).toHaveBeenCalled();\n }\n });\n});\n"],
5
- "mappings": "AAEA,OAAS,4BAAAA,MAAgC,oDACzC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,wBAAAC,MAA4B,yDACrC,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,6BAAAC,MAAiC,uDAE1C,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,kCAAAC,MAAsC,+DAE/C,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,2BAAAC,MAA+B,gEAExC,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGJ,SAAS,KAAK,uBAAwB,IAAM,CAC1C,WAAW,IAAM,CACfN,EAAS,IAAIN,EACX,CAAC,EACD,8BACF,EACAO,EAAuB,IAAIN,EAA0B,CAAC,CAAc,EACpEO,EAAa,IAAIN,EAAyBK,CAAoB,EAC9DE,EAA0B,IAAIN,EAC5B,CAAC,CACH,EACAO,EAAgB,IAAIN,EAA4BK,CAAuB,EACvEE,EAAiB,IAAIb,EAA4B,IAAMQ,CAAM,EAC7DM,EAAmB,IAAIP,CACzB,CAAC,EAED,GAAG,wCAAyC,IAAM,CAE/B,CAAC,GAAG,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,IAAKQ,GAAO,CACjD,MAAMC,EAAUjB,EACd,CAAE,GAAIgB,EAAG,SAAS,CAAE,EACpB,IAAMP,EACNE,EACAE,CACF,EACA,UAAG,MAAMI,EAAS,OAAO,EAClBA,CACT,CAAC,EACQ,QAASA,GAAYH,EAAe,iBAAiBG,CAAO,CAAC,EACtD,IAAIf,EAAqBY,EAAgBC,CAAgB,EAEjE,QAAQ,EAEhB,UAAWE,KAAWH,EAAe,kBAAkB,EACrD,OAAOG,EAAQ,KAAK,EAAE,iBAAiB,CAE3C,CAAC,CACH,CAAC",
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\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\nimport { DefaultTransportService } from \"@internal/transport/service/__mocks__/DefaultTransportService\";\n\nlet logger: LoggerPublisherService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\nlet sessionService: DeviceSessionService;\nlet transportService: DefaultTransportService;\n\n// @TODO Fix this test with vi.spyOn session close [SNAPSHOT PURPOSE]\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 secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n transportService = new DefaultTransportService();\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 secureChannel,\n );\n vi.spyOn(session, \"close\");\n return session;\n });\n sessions.forEach((session) => sessionService.addDeviceSession(session));\n const useCase = new CloseSessionsUseCase(sessionService, transportService);\n //when\n useCase.execute();\n //then\n for (const session of sessionService.getDeviceSessions()) {\n expect(session.close).toHaveBeenCalled();\n }\n });\n});\n"],
5
+ "mappings": "AAEA,OAAS,4BAAAA,MAAgC,oDACzC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,wBAAAC,MAA4B,yDACrC,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,6BAAAC,MAAiC,uDAE1C,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,kCAAAC,MAAsC,+DAE/C,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,2BAAAC,MAA+B,gEAExC,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGJ,SAAS,uBAAwB,IAAM,CACrC,WAAW,IAAM,CACfN,EAAS,IAAIN,EACX,CAAC,EACD,8BACF,EACAO,EAAuB,IAAIN,EAA0B,CAAC,CAAc,EACpEO,EAAa,IAAIN,EAAyBK,CAAoB,EAC9DE,EAA0B,IAAIN,EAC5B,CAAC,CACH,EACAO,EAAgB,IAAIN,EAA4BK,CAAuB,EACvEE,EAAiB,IAAIb,EAA4B,IAAMQ,CAAM,EAC7DM,EAAmB,IAAIP,CACzB,CAAC,EAED,GAAG,wCAAyC,IAAM,CAE/B,CAAC,GAAG,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,IAAKQ,GAAO,CACjD,MAAMC,EAAUjB,EACd,CAAE,GAAIgB,EAAG,SAAS,CAAE,EACpB,IAAMP,EACNE,EACAE,CACF,EACA,UAAG,MAAMI,EAAS,OAAO,EAClBA,CACT,CAAC,EACQ,QAASA,GAAYH,EAAe,iBAAiBG,CAAO,CAAC,EACtD,IAAIf,EAAqBY,EAAgBC,CAAgB,EAEjE,QAAQ,EAEhB,UAAWE,KAAWH,EAAe,kBAAkB,EACrD,OAAOG,EAAQ,KAAK,EAAE,iBAAiB,CAE3C,CAAC,CACH,CAAC",
6
6
  "names": ["deviceSessionStubBuilder", "DefaultDeviceSessionService", "CloseSessionsUseCase", "DefaultLoggerPublisherService", "AxiosManagerApiDataSource", "DefaultManagerApiService", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "DefaultTransportService", "logger", "managerApiDataSource", "managerApi", "secureChannelDataSource", "secureChannel", "sessionService", "transportService", "id", "session"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ContainerModule as n}from"inversify";import{ConnectUseCase as i}from"../../discovery/use-case/ConnectUseCase";import{DisconnectUseCase as C}from"../../discovery/use-case/DisconnectUseCase";import{GetConnectedDeviceUseCase as a}from"../../discovery/use-case/GetConnectedDeviceUseCase";import{ListConnectedDevicesUseCase as r}from"../../discovery/use-case/ListConnectedDevicesUseCase";import{ListenToConnectedDeviceUseCase as U}from"../../discovery/use-case/ListenToConnectedDeviceUseCase";import{ListenToKnownDevicesUseCase as m}from"../../discovery/use-case/ListenToKnownDevicesUseCase";import{StartDiscoveringUseCase as D}from"../../discovery/use-case/StartDiscoveringUseCase";import{StopDiscoveringUseCase as v}from"../../discovery/use-case/StopDiscoveringUseCase";import{StubUseCase as t}from"../../../../src/di.stub";import{discoveryTypes as e}from"./discoveryTypes";const M=({stub:c=!1})=>new n((o,p,f,s)=>{o(e.ConnectUseCase).to(i),o(e.DisconnectUseCase).to(C),o(e.StartDiscoveringUseCase).to(D),o(e.StopDiscoveringUseCase).to(v),o(e.GetConnectedDeviceUseCase).to(a),o(e.ListenToKnownDevicesUseCase).to(m),o(e.ListenToConnectedDeviceUseCase).to(U),o(e.ListConnectedDevicesUseCase).to(r),c&&(s(e.StartDiscoveringUseCase).to(t),s(e.StopDiscoveringUseCase).to(t),s(e.ConnectUseCase).to(t),s(e.DisconnectUseCase).to(t),s(e.GetConnectedDeviceUseCase).to(t),s(e.ListenToKnownDevicesUseCase).to(t),s(e.ListenToConnectedDeviceUseCase).to(t),s(e.ListConnectedDevicesUseCase).to(t))});export{M as discoveryModuleFactory};
1
+ import{ContainerModule as i}from"inversify";import{ConnectUseCase as a}from"../../discovery/use-case/ConnectUseCase";import{DisconnectUseCase as C}from"../../discovery/use-case/DisconnectUseCase";import{GetConnectedDeviceUseCase as n}from"../../discovery/use-case/GetConnectedDeviceUseCase";import{ListConnectedDevicesUseCase as r}from"../../discovery/use-case/ListConnectedDevicesUseCase";import{ListenToAvailableDevicesUseCase as U}from"../../discovery/use-case/ListenToAvailableDevicesUseCase";import{ListenToConnectedDeviceUseCase as v}from"../../discovery/use-case/ListenToConnectedDeviceUseCase";import{StartDiscoveringUseCase as m}from"../../discovery/use-case/StartDiscoveringUseCase";import{StopDiscoveringUseCase as D}from"../../discovery/use-case/StopDiscoveringUseCase";import{StubUseCase as t}from"../../../../src/di.stub";import{discoveryTypes as e}from"./discoveryTypes";const P=({stub:c=!1})=>new i((o,p,f,s)=>{o(e.ConnectUseCase).to(a),o(e.DisconnectUseCase).to(C),o(e.StartDiscoveringUseCase).to(m),o(e.StopDiscoveringUseCase).to(D),o(e.GetConnectedDeviceUseCase).to(n),o(e.ListenToAvailableDevicesUseCase).to(U),o(e.ListenToConnectedDeviceUseCase).to(v),o(e.ListConnectedDevicesUseCase).to(r),c&&(s(e.StartDiscoveringUseCase).to(t),s(e.StopDiscoveringUseCase).to(t),s(e.ConnectUseCase).to(t),s(e.DisconnectUseCase).to(t),s(e.GetConnectedDeviceUseCase).to(t),s(e.ListenToAvailableDevicesUseCase).to(t),s(e.ListenToConnectedDeviceUseCase).to(t),s(e.ListConnectedDevicesUseCase).to(t))});export{P as discoveryModuleFactory};
2
2
  //# sourceMappingURL=discoveryModule.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/di/discoveryModule.ts"],
4
- "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { GetConnectedDeviceUseCase } from \"@internal/discovery/use-case/GetConnectedDeviceUseCase\";\nimport { ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport { ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\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 { StubUseCase } from \"@root/src/di.stub\";\n\nimport { discoveryTypes } from \"./discoveryTypes\";\n\ntype FactoryProps = {\n stub: boolean;\n};\n\nexport const discoveryModuleFactory = ({ stub = false }: FactoryProps) =>\n new ContainerModule((bind, _unbind, _isBound, rebind) => {\n bind(discoveryTypes.ConnectUseCase).to(ConnectUseCase);\n bind(discoveryTypes.DisconnectUseCase).to(DisconnectUseCase);\n bind(discoveryTypes.StartDiscoveringUseCase).to(StartDiscoveringUseCase);\n bind(discoveryTypes.StopDiscoveringUseCase).to(StopDiscoveringUseCase);\n bind(discoveryTypes.GetConnectedDeviceUseCase).to(\n GetConnectedDeviceUseCase,\n );\n bind(discoveryTypes.ListenToKnownDevicesUseCase).to(\n ListenToKnownDevicesUseCase,\n );\n bind(discoveryTypes.ListenToConnectedDeviceUseCase).to(\n ListenToConnectedDeviceUseCase,\n );\n bind(discoveryTypes.ListConnectedDevicesUseCase).to(\n ListConnectedDevicesUseCase,\n );\n\n if (stub) {\n rebind(discoveryTypes.StartDiscoveringUseCase).to(StubUseCase);\n rebind(discoveryTypes.StopDiscoveringUseCase).to(StubUseCase);\n rebind(discoveryTypes.ConnectUseCase).to(StubUseCase);\n rebind(discoveryTypes.DisconnectUseCase).to(StubUseCase);\n rebind(discoveryTypes.GetConnectedDeviceUseCase).to(StubUseCase);\n rebind(discoveryTypes.ListenToKnownDevicesUseCase).to(StubUseCase);\n rebind(discoveryTypes.ListenToConnectedDeviceUseCase).to(StubUseCase);\n rebind(discoveryTypes.ListConnectedDevicesUseCase).to(StubUseCase);\n }\n });\n"],
5
- "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,kBAAAC,MAAsB,8CAC/B,OAAS,qBAAAC,MAAyB,iDAClC,OAAS,6BAAAC,MAAiC,yDAC1C,OAAS,+BAAAC,MAAmC,2DAC5C,OAAS,kCAAAC,MAAsC,8DAC/C,OAAS,+BAAAC,MAAmC,2DAC5C,OAAS,2BAAAC,MAA+B,uDACxC,OAAS,0BAAAC,MAA8B,sDACvC,OAAS,eAAAC,MAAmB,oBAE5B,OAAS,kBAAAC,MAAsB,mBAMxB,MAAMC,EAAyB,CAAC,CAAE,KAAAC,EAAO,EAAM,IACpD,IAAIZ,EAAgB,CAACa,EAAMC,EAASC,EAAUC,IAAW,CACvDH,EAAKH,EAAe,cAAc,EAAE,GAAGT,CAAc,EACrDY,EAAKH,EAAe,iBAAiB,EAAE,GAAGR,CAAiB,EAC3DW,EAAKH,EAAe,uBAAuB,EAAE,GAAGH,CAAuB,EACvEM,EAAKH,EAAe,sBAAsB,EAAE,GAAGF,CAAsB,EACrEK,EAAKH,EAAe,yBAAyB,EAAE,GAC7CP,CACF,EACAU,EAAKH,EAAe,2BAA2B,EAAE,GAC/CJ,CACF,EACAO,EAAKH,EAAe,8BAA8B,EAAE,GAClDL,CACF,EACAQ,EAAKH,EAAe,2BAA2B,EAAE,GAC/CN,CACF,EAEIQ,IACFI,EAAON,EAAe,uBAAuB,EAAE,GAAGD,CAAW,EAC7DO,EAAON,EAAe,sBAAsB,EAAE,GAAGD,CAAW,EAC5DO,EAAON,EAAe,cAAc,EAAE,GAAGD,CAAW,EACpDO,EAAON,EAAe,iBAAiB,EAAE,GAAGD,CAAW,EACvDO,EAAON,EAAe,yBAAyB,EAAE,GAAGD,CAAW,EAC/DO,EAAON,EAAe,2BAA2B,EAAE,GAAGD,CAAW,EACjEO,EAAON,EAAe,8BAA8B,EAAE,GAAGD,CAAW,EACpEO,EAAON,EAAe,2BAA2B,EAAE,GAAGD,CAAW,EAErE,CAAC",
6
- "names": ["ContainerModule", "ConnectUseCase", "DisconnectUseCase", "GetConnectedDeviceUseCase", "ListConnectedDevicesUseCase", "ListenToConnectedDeviceUseCase", "ListenToKnownDevicesUseCase", "StartDiscoveringUseCase", "StopDiscoveringUseCase", "StubUseCase", "discoveryTypes", "discoveryModuleFactory", "stub", "bind", "_unbind", "_isBound", "rebind"]
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { GetConnectedDeviceUseCase } from \"@internal/discovery/use-case/GetConnectedDeviceUseCase\";\nimport { ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport { ListenToAvailableDevicesUseCase } from \"@internal/discovery/use-case/ListenToAvailableDevicesUseCase\";\nimport { ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\nimport { StartDiscoveringUseCase } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nimport { StopDiscoveringUseCase } from \"@internal/discovery/use-case/StopDiscoveringUseCase\";\nimport { StubUseCase } from \"@root/src/di.stub\";\n\nimport { discoveryTypes } from \"./discoveryTypes\";\n\ntype FactoryProps = {\n stub: boolean;\n};\n\nexport const discoveryModuleFactory = ({ stub = false }: FactoryProps) =>\n new ContainerModule((bind, _unbind, _isBound, rebind) => {\n bind(discoveryTypes.ConnectUseCase).to(ConnectUseCase);\n bind(discoveryTypes.DisconnectUseCase).to(DisconnectUseCase);\n bind(discoveryTypes.StartDiscoveringUseCase).to(StartDiscoveringUseCase);\n bind(discoveryTypes.StopDiscoveringUseCase).to(StopDiscoveringUseCase);\n bind(discoveryTypes.GetConnectedDeviceUseCase).to(\n GetConnectedDeviceUseCase,\n );\n bind(discoveryTypes.ListenToAvailableDevicesUseCase).to(\n ListenToAvailableDevicesUseCase,\n );\n bind(discoveryTypes.ListenToConnectedDeviceUseCase).to(\n ListenToConnectedDeviceUseCase,\n );\n bind(discoveryTypes.ListConnectedDevicesUseCase).to(\n ListConnectedDevicesUseCase,\n );\n\n if (stub) {\n rebind(discoveryTypes.StartDiscoveringUseCase).to(StubUseCase);\n rebind(discoveryTypes.StopDiscoveringUseCase).to(StubUseCase);\n rebind(discoveryTypes.ConnectUseCase).to(StubUseCase);\n rebind(discoveryTypes.DisconnectUseCase).to(StubUseCase);\n rebind(discoveryTypes.GetConnectedDeviceUseCase).to(StubUseCase);\n rebind(discoveryTypes.ListenToAvailableDevicesUseCase).to(StubUseCase);\n rebind(discoveryTypes.ListenToConnectedDeviceUseCase).to(StubUseCase);\n rebind(discoveryTypes.ListConnectedDevicesUseCase).to(StubUseCase);\n }\n });\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,kBAAAC,MAAsB,8CAC/B,OAAS,qBAAAC,MAAyB,iDAClC,OAAS,6BAAAC,MAAiC,yDAC1C,OAAS,+BAAAC,MAAmC,2DAC5C,OAAS,mCAAAC,MAAuC,+DAChD,OAAS,kCAAAC,MAAsC,8DAC/C,OAAS,2BAAAC,MAA+B,uDACxC,OAAS,0BAAAC,MAA8B,sDACvC,OAAS,eAAAC,MAAmB,oBAE5B,OAAS,kBAAAC,MAAsB,mBAMxB,MAAMC,EAAyB,CAAC,CAAE,KAAAC,EAAO,EAAM,IACpD,IAAIZ,EAAgB,CAACa,EAAMC,EAASC,EAAUC,IAAW,CACvDH,EAAKH,EAAe,cAAc,EAAE,GAAGT,CAAc,EACrDY,EAAKH,EAAe,iBAAiB,EAAE,GAAGR,CAAiB,EAC3DW,EAAKH,EAAe,uBAAuB,EAAE,GAAGH,CAAuB,EACvEM,EAAKH,EAAe,sBAAsB,EAAE,GAAGF,CAAsB,EACrEK,EAAKH,EAAe,yBAAyB,EAAE,GAC7CP,CACF,EACAU,EAAKH,EAAe,+BAA+B,EAAE,GACnDL,CACF,EACAQ,EAAKH,EAAe,8BAA8B,EAAE,GAClDJ,CACF,EACAO,EAAKH,EAAe,2BAA2B,EAAE,GAC/CN,CACF,EAEIQ,IACFI,EAAON,EAAe,uBAAuB,EAAE,GAAGD,CAAW,EAC7DO,EAAON,EAAe,sBAAsB,EAAE,GAAGD,CAAW,EAC5DO,EAAON,EAAe,cAAc,EAAE,GAAGD,CAAW,EACpDO,EAAON,EAAe,iBAAiB,EAAE,GAAGD,CAAW,EACvDO,EAAON,EAAe,yBAAyB,EAAE,GAAGD,CAAW,EAC/DO,EAAON,EAAe,+BAA+B,EAAE,GAAGD,CAAW,EACrEO,EAAON,EAAe,8BAA8B,EAAE,GAAGD,CAAW,EACpEO,EAAON,EAAe,2BAA2B,EAAE,GAAGD,CAAW,EAErE,CAAC",
6
+ "names": ["ContainerModule", "ConnectUseCase", "DisconnectUseCase", "GetConnectedDeviceUseCase", "ListConnectedDevicesUseCase", "ListenToAvailableDevicesUseCase", "ListenToConnectedDeviceUseCase", "StartDiscoveringUseCase", "StopDiscoveringUseCase", "StubUseCase", "discoveryTypes", "discoveryModuleFactory", "stub", "bind", "_unbind", "_isBound", "rebind"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Container as p}from"inversify";import{TransportMock as f}from"../../../api/transport/model/__mocks__/TransportMock";import{deviceModelModuleFactory as l}from"../../device-model/di/deviceModelModule";import{deviceSessionModuleFactory as d}from"../../device-session/di/deviceSessionModule";import{ConnectUseCase as C}from"../../discovery/use-case/ConnectUseCase";import{DisconnectUseCase as u}from"../../discovery/use-case/DisconnectUseCase";import{ListConnectedDevicesUseCase as g}from"../../discovery/use-case/ListConnectedDevicesUseCase";import{ListenToKnownDevicesUseCase as U}from"../../discovery/use-case/ListenToKnownDevicesUseCase";import{StartDiscoveringUseCase as v}from"../../discovery/use-case/StartDiscoveringUseCase";import{StopDiscoveringUseCase as y}from"../../discovery/use-case/StopDiscoveringUseCase";import{loggerModuleFactory as D}from"../../logger-publisher/di/loggerModule";import{managerApiModuleFactory as k}from"../../manager-api/di/managerApiModule";import{secureChannelModuleFactory as M}from"../../secure-channel/di/secureChannelModule";import{transportModuleFactory as F}from"../../transport/di/transportModule";import{discoveryModuleFactory as h}from"./discoveryModule";import{discoveryTypes as o}from"./discoveryTypes";describe("discoveryModuleFactory",()=>{let e,t,s;beforeEach(()=>{t=h({stub:!1}),e=new p,s=new f,e.load(t,D(),l({stub:!1}),d(),F({transports:[vi.fn().mockImplementation(()=>s)]}),k({config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url"}}),M({config:{webSocketUrl:"http://fake-websocket.url"}}))}),it("should return the device module",()=>{expect(t).toBeDefined()}),it("should return none mocked use cases",()=>{const r=e.get(o.StartDiscoveringUseCase);expect(r).toBeInstanceOf(v);const n=e.get(o.StopDiscoveringUseCase);expect(n).toBeInstanceOf(y);const c=e.get(o.DisconnectUseCase);expect(c).toBeInstanceOf(u);const i=e.get(o.ConnectUseCase);expect(i).toBeInstanceOf(C);const a=e.get(o.ListenToKnownDevicesUseCase);expect(a).toBeInstanceOf(U);const m=e.get(o.ListConnectedDevicesUseCase);expect(m).toBeInstanceOf(g)})});
1
+ import{Container as p}from"inversify";import{TransportMock as f}from"../../../api/transport/model/__mocks__/TransportMock";import{deviceModelModuleFactory as l}from"../../device-model/di/deviceModelModule";import{deviceSessionModuleFactory as d}from"../../device-session/di/deviceSessionModule";import{ConnectUseCase as C}from"../../discovery/use-case/ConnectUseCase";import{DisconnectUseCase as v}from"../../discovery/use-case/DisconnectUseCase";import{ListConnectedDevicesUseCase as u}from"../../discovery/use-case/ListConnectedDevicesUseCase";import{ListenToAvailableDevicesUseCase as g}from"../../discovery/use-case/ListenToAvailableDevicesUseCase";import{StartDiscoveringUseCase as U}from"../../discovery/use-case/StartDiscoveringUseCase";import{StopDiscoveringUseCase as y}from"../../discovery/use-case/StopDiscoveringUseCase";import{loggerModuleFactory as D}from"../../logger-publisher/di/loggerModule";import{managerApiModuleFactory as k}from"../../manager-api/di/managerApiModule";import{secureChannelModuleFactory as M}from"../../secure-channel/di/secureChannelModule";import{transportModuleFactory as b}from"../../transport/di/transportModule";import{discoveryModuleFactory as F}from"./discoveryModule";import{discoveryTypes as o}from"./discoveryTypes";describe("discoveryModuleFactory",()=>{let e,t,s;beforeEach(()=>{t=F({stub:!1}),e=new p,s=new f,e.load(t,D(),l({stub:!1}),d(),b({transports:[vi.fn().mockImplementation(()=>s)]}),k({config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url"}}),M({config:{webSocketUrl:"http://fake-websocket.url"}}))}),it("should return the device module",()=>{expect(t).toBeDefined()}),it("should return none mocked use cases",()=>{const r=e.get(o.StartDiscoveringUseCase);expect(r).toBeInstanceOf(U);const n=e.get(o.StopDiscoveringUseCase);expect(n).toBeInstanceOf(y);const c=e.get(o.DisconnectUseCase);expect(c).toBeInstanceOf(v);const i=e.get(o.ConnectUseCase);expect(i).toBeInstanceOf(C);const a=e.get(o.ListenToAvailableDevicesUseCase);expect(a).toBeInstanceOf(g);const m=e.get(o.ListConnectedDevicesUseCase);expect(m).toBeInstanceOf(u)})});
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 DmkConfig, 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 { secureChannelModuleFactory } from \"@internal/secure-channel/di/secureChannelModule\";\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: [vi.fn().mockImplementation(() => transport)],\n }),\n managerApiModuleFactory({\n config: {\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n } as DmkConfig,\n }),\n secureChannelModuleFactory({\n config: {\n webSocketUrl: \"http://fake-websocket.url\",\n } as DmkConfig,\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,OAAS,aAAAA,MAAiB,YAE1B,OAAS,iBAAAC,MAAqB,+CAE9B,OAAS,4BAAAC,MAAgC,8CACzC,OAAS,8BAAAC,MAAkC,kDAC3C,OAAS,kBAAAC,MAAsB,8CAC/B,OAAS,qBAAAC,MAAyB,iDAClC,OAAS,+BAAAC,MAAmC,2DAC5C,OAAS,+BAAAC,MAAmC,2DAC5C,OAAS,2BAAAC,MAA+B,uDACxC,OAAS,0BAAAC,MAA8B,sDACvC,OAAS,uBAAAC,MAA2B,6CACpC,OAAS,2BAAAC,MAA+B,4CACxC,OAAS,8BAAAC,MAAkC,kDAC3C,OAAS,0BAAAC,MAA8B,yCAEvC,OAAS,0BAAAC,MAA8B,oBACvC,OAAS,kBAAAC,MAAsB,mBAE/B,SAAS,yBAA0B,IAAM,CACvC,IAAIC,EACAC,EACAC,EACJ,WAAW,IAAM,CACfD,EAAMH,EAAuB,CAAE,KAAM,EAAM,CAAC,EAC5CE,EAAY,IAAIhB,EAChBkB,EAAY,IAAIjB,EAEhBe,EAAU,KACRC,EAEAP,EAAoB,EACpBR,EAAyB,CAAE,KAAM,EAAM,CAAC,EACxCC,EAA2B,EAC3BU,EAAuB,CACrB,WAAY,CAAC,GAAG,GAAG,EAAE,mBAAmB,IAAMK,CAAS,CAAC,CAC1D,CAAC,EACDP,EAAwB,CACtB,OAAQ,CACN,cAAe,kBACf,QAAS,sBACX,CACF,CAAC,EACDC,EAA2B,CACzB,OAAQ,CACN,aAAc,2BAChB,CACF,CAAC,CACH,CACF,CAAC,EACD,GAAG,kCAAmC,IAAM,CAC1C,OAAOK,CAAG,EAAE,YAAY,CAC1B,CAAC,EAED,GAAG,sCAAuC,IAAM,CAC9C,MAAME,EAA0BH,EAAU,IACxCD,EAAe,uBACjB,EACA,OAAOI,CAAuB,EAAE,eAAeX,CAAuB,EAEtE,MAAMY,EAAyBJ,EAAU,IACvCD,EAAe,sBACjB,EACA,OAAOK,CAAsB,EAAE,eAAeX,CAAsB,EAEpE,MAAMY,EAAoBL,EAAU,IAAID,EAAe,iBAAiB,EACxE,OAAOM,CAAiB,EAAE,eAAehB,CAAiB,EAE1D,MAAMiB,EAAiBN,EAAU,IAAID,EAAe,cAAc,EAClE,OAAOO,CAAc,EAAE,eAAelB,CAAc,EAEpD,MAAMmB,EAA8BP,EAAU,IAC5CD,EAAe,2BACjB,EACA,OAAOQ,CAA2B,EAAE,eAClChB,CACF,EACA,MAAMiB,EAA8BR,EAAU,IAC5CD,EAAe,2BACjB,EACA,OAAOS,CAA2B,EAAE,eAClClB,CACF,CACF,CAAC,CACH,CAAC",
6
- "names": ["Container", "TransportMock", "deviceModelModuleFactory", "deviceSessionModuleFactory", "ConnectUseCase", "DisconnectUseCase", "ListConnectedDevicesUseCase", "ListenToKnownDevicesUseCase", "StartDiscoveringUseCase", "StopDiscoveringUseCase", "loggerModuleFactory", "managerApiModuleFactory", "secureChannelModuleFactory", "transportModuleFactory", "discoveryModuleFactory", "discoveryTypes", "container", "mod", "transport", "startDiscoveringUseCase", "stopDiscoveringUseCase", "disconnectUseCase", "connectUseCase", "listenToKnownDevicesUseCase", "listConnectedDevicesUseCase"]
4
+ "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { type DmkConfig, 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 { ListenToAvailableDevicesUseCase } from \"@internal/discovery/use-case/ListenToAvailableDevicesUseCase\";\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 { secureChannelModuleFactory } from \"@internal/secure-channel/di/secureChannelModule\";\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: [vi.fn().mockImplementation(() => transport)],\n }),\n managerApiModuleFactory({\n config: {\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n } as DmkConfig,\n }),\n secureChannelModuleFactory({\n config: {\n webSocketUrl: \"http://fake-websocket.url\",\n } as DmkConfig,\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 listenToAvailableDevicesUseCase = container.get(\n discoveryTypes.ListenToAvailableDevicesUseCase,\n );\n expect(listenToAvailableDevicesUseCase).toBeInstanceOf(\n ListenToAvailableDevicesUseCase,\n );\n const listConnectedDevicesUseCase = container.get(\n discoveryTypes.ListConnectedDevicesUseCase,\n );\n expect(listConnectedDevicesUseCase).toBeInstanceOf(\n ListConnectedDevicesUseCase,\n );\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,iBAAAC,MAAqB,+CAE9B,OAAS,4BAAAC,MAAgC,8CACzC,OAAS,8BAAAC,MAAkC,kDAC3C,OAAS,kBAAAC,MAAsB,8CAC/B,OAAS,qBAAAC,MAAyB,iDAClC,OAAS,+BAAAC,MAAmC,2DAC5C,OAAS,mCAAAC,MAAuC,+DAChD,OAAS,2BAAAC,MAA+B,uDACxC,OAAS,0BAAAC,MAA8B,sDACvC,OAAS,uBAAAC,MAA2B,6CACpC,OAAS,2BAAAC,MAA+B,4CACxC,OAAS,8BAAAC,MAAkC,kDAC3C,OAAS,0BAAAC,MAA8B,yCAEvC,OAAS,0BAAAC,MAA8B,oBACvC,OAAS,kBAAAC,MAAsB,mBAE/B,SAAS,yBAA0B,IAAM,CACvC,IAAIC,EACAC,EACAC,EACJ,WAAW,IAAM,CACfD,EAAMH,EAAuB,CAAE,KAAM,EAAM,CAAC,EAC5CE,EAAY,IAAIhB,EAChBkB,EAAY,IAAIjB,EAEhBe,EAAU,KACRC,EAEAP,EAAoB,EACpBR,EAAyB,CAAE,KAAM,EAAM,CAAC,EACxCC,EAA2B,EAC3BU,EAAuB,CACrB,WAAY,CAAC,GAAG,GAAG,EAAE,mBAAmB,IAAMK,CAAS,CAAC,CAC1D,CAAC,EACDP,EAAwB,CACtB,OAAQ,CACN,cAAe,kBACf,QAAS,sBACX,CACF,CAAC,EACDC,EAA2B,CACzB,OAAQ,CACN,aAAc,2BAChB,CACF,CAAC,CACH,CACF,CAAC,EACD,GAAG,kCAAmC,IAAM,CAC1C,OAAOK,CAAG,EAAE,YAAY,CAC1B,CAAC,EAED,GAAG,sCAAuC,IAAM,CAC9C,MAAME,EAA0BH,EAAU,IACxCD,EAAe,uBACjB,EACA,OAAOI,CAAuB,EAAE,eAAeX,CAAuB,EAEtE,MAAMY,EAAyBJ,EAAU,IACvCD,EAAe,sBACjB,EACA,OAAOK,CAAsB,EAAE,eAAeX,CAAsB,EAEpE,MAAMY,EAAoBL,EAAU,IAAID,EAAe,iBAAiB,EACxE,OAAOM,CAAiB,EAAE,eAAehB,CAAiB,EAE1D,MAAMiB,EAAiBN,EAAU,IAAID,EAAe,cAAc,EAClE,OAAOO,CAAc,EAAE,eAAelB,CAAc,EAEpD,MAAMmB,EAAkCP,EAAU,IAChDD,EAAe,+BACjB,EACA,OAAOQ,CAA+B,EAAE,eACtChB,CACF,EACA,MAAMiB,EAA8BR,EAAU,IAC5CD,EAAe,2BACjB,EACA,OAAOS,CAA2B,EAAE,eAClClB,CACF,CACF,CAAC,CACH,CAAC",
6
+ "names": ["Container", "TransportMock", "deviceModelModuleFactory", "deviceSessionModuleFactory", "ConnectUseCase", "DisconnectUseCase", "ListConnectedDevicesUseCase", "ListenToAvailableDevicesUseCase", "StartDiscoveringUseCase", "StopDiscoveringUseCase", "loggerModuleFactory", "managerApiModuleFactory", "secureChannelModuleFactory", "transportModuleFactory", "discoveryModuleFactory", "discoveryTypes", "container", "mod", "transport", "startDiscoveringUseCase", "stopDiscoveringUseCase", "disconnectUseCase", "connectUseCase", "listenToAvailableDevicesUseCase", "listConnectedDevicesUseCase"]
7
7
  }
@@ -1,2 +1,2 @@
1
- const e={StartDiscoveringUseCase:Symbol.for("StartDiscoveringUseCase"),StopDiscoveringUseCase:Symbol.for("StopDiscoveringUseCase"),ConnectUseCase:Symbol.for("ConnectUseCase"),DisconnectUseCase:Symbol.for("DisconnectUseCase"),GetConnectedDeviceUseCase:Symbol.for("GetConnectedDeviceUseCase"),ListenToKnownDevicesUseCase:Symbol.for("ListenToKnownDevicesUseCase"),ListenToConnectedDeviceUseCase:Symbol.for("ListenToConnectedDeviceUseCase"),ListConnectedDevicesUseCase:Symbol.for("ListConnectedDevicesUseCase")};export{e as discoveryTypes};
1
+ const e={StartDiscoveringUseCase:Symbol.for("StartDiscoveringUseCase"),StopDiscoveringUseCase:Symbol.for("StopDiscoveringUseCase"),ConnectUseCase:Symbol.for("ConnectUseCase"),DisconnectUseCase:Symbol.for("DisconnectUseCase"),GetConnectedDeviceUseCase:Symbol.for("GetConnectedDeviceUseCase"),ListenToAvailableDevicesUseCase:Symbol.for("ListenToAvailableDevicesUseCase"),ListenToConnectedDeviceUseCase:Symbol.for("ListenToConnectedDeviceUseCase"),ListConnectedDevicesUseCase:Symbol.for("ListConnectedDevicesUseCase")};export{e as discoveryTypes};
2
2
  //# sourceMappingURL=discoveryTypes.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/di/discoveryTypes.ts"],
4
- "sourcesContent": ["export const discoveryTypes = {\n StartDiscoveringUseCase: Symbol.for(\"StartDiscoveringUseCase\"),\n StopDiscoveringUseCase: Symbol.for(\"StopDiscoveringUseCase\"),\n ConnectUseCase: Symbol.for(\"ConnectUseCase\"),\n DisconnectUseCase: Symbol.for(\"DisconnectUseCase\"),\n GetConnectedDeviceUseCase: Symbol.for(\"GetConnectedDeviceUseCase\"),\n ListenToKnownDevicesUseCase: Symbol.for(\"ListenToKnownDevicesUseCase\"),\n ListenToConnectedDeviceUseCase: Symbol.for(\"ListenToConnectedDeviceUseCase\"),\n ListConnectedDevicesUseCase: Symbol.for(\"ListConnectedDevicesUseCase\"),\n};\n"],
5
- "mappings": "AAAO,MAAMA,EAAiB,CAC5B,wBAAyB,OAAO,IAAI,yBAAyB,EAC7D,uBAAwB,OAAO,IAAI,wBAAwB,EAC3D,eAAgB,OAAO,IAAI,gBAAgB,EAC3C,kBAAmB,OAAO,IAAI,mBAAmB,EACjD,0BAA2B,OAAO,IAAI,2BAA2B,EACjE,4BAA6B,OAAO,IAAI,6BAA6B,EACrE,+BAAgC,OAAO,IAAI,gCAAgC,EAC3E,4BAA6B,OAAO,IAAI,6BAA6B,CACvE",
4
+ "sourcesContent": ["export const discoveryTypes = {\n StartDiscoveringUseCase: Symbol.for(\"StartDiscoveringUseCase\"),\n StopDiscoveringUseCase: Symbol.for(\"StopDiscoveringUseCase\"),\n ConnectUseCase: Symbol.for(\"ConnectUseCase\"),\n DisconnectUseCase: Symbol.for(\"DisconnectUseCase\"),\n GetConnectedDeviceUseCase: Symbol.for(\"GetConnectedDeviceUseCase\"),\n ListenToAvailableDevicesUseCase: Symbol.for(\n \"ListenToAvailableDevicesUseCase\",\n ),\n ListenToConnectedDeviceUseCase: Symbol.for(\"ListenToConnectedDeviceUseCase\"),\n ListConnectedDevicesUseCase: Symbol.for(\"ListConnectedDevicesUseCase\"),\n};\n"],
5
+ "mappings": "AAAO,MAAMA,EAAiB,CAC5B,wBAAyB,OAAO,IAAI,yBAAyB,EAC7D,uBAAwB,OAAO,IAAI,wBAAwB,EAC3D,eAAgB,OAAO,IAAI,gBAAgB,EAC3C,kBAAmB,OAAO,IAAI,mBAAmB,EACjD,0BAA2B,OAAO,IAAI,2BAA2B,EACjE,gCAAiC,OAAO,IACtC,iCACF,EACA,+BAAgC,OAAO,IAAI,gCAAgC,EAC3E,4BAA6B,OAAO,IAAI,6BAA6B,CACvE",
6
6
  "names": ["discoveryTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Left as D,Maybe as p,Right as g}from"purify-ts";import{TransportMock as d}from"../../../api/transport/model/__mocks__/TransportMock";import{UnknownDeviceError as m}from"../../../api/transport/model/Errors";import{connectedDeviceStubBuilder as y}from"../../../api/transport/model/TransportConnectedDevice.stub";import{DefaultDeviceSessionService as k}from"../../device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as C}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as w}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as A}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as h}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as M}from"../../secure-channel/service/DefaultSecureChannelService";import{DefaultTransportService as T}from"../../transport/service/DefaultTransportService";import{ConnectUseCase as v}from"./ConnectUseCase";vi.mock("uuid",()=>({v4:vi.fn().mockReturnValue("fakeSessionId")}));vi.mock("@internal/manager-api/data/AxiosManagerApiDataSource");vi.mock("@internal/transport/service/DefaultTransportService");let r,o,i,e,n,u,l,a;const b="fakeSessionId";describe("ConnectUseCase",()=>{const c={id:"",deviceModel:{},transport:"USB",name:"TEST",available:!0},f=y({id:"1"}),S="logger-tag";beforeAll(()=>{i=new C([],S),r=new d,e=new k(()=>i),u=new w({}),n=new A(u),l=new h({}),a=new M(l),o=new T}),afterEach(()=>{for(const t of e.getDeviceSessions())e.removeDeviceSession(t.id)}),afterAll(()=>{vi.restoreAllMocks()}),test("If connect use case encounter an error, return it",async()=>{vi.spyOn(r,"connect").mockResolvedValue(D(new m)),vi.spyOn(o,"getTransport").mockReturnValue(p.of(r));const t=new v(o,e,()=>i,n,a);await expect(t.execute({device:c})).rejects.toBeInstanceOf(m)}),test("If connect is in success, return a deviceSession id",async()=>{vi.spyOn(r,"connect").mockResolvedValue(g(f)),vi.spyOn(o,"getTransport").mockReturnValue(p.of(r));const s=await new v(o,e,()=>i,n,a).execute({device:c});expect(s).toBe(b),e.removeDeviceSession(s)})});
1
+ import{Left as D,Maybe as p,Right as g}from"purify-ts";import{TransportMock as d}from"../../../api/transport/model/__mocks__/TransportMock";import{UnknownDeviceError as m}from"../../../api/transport/model/Errors";import{connectedDeviceStubBuilder as y}from"../../../api/transport/model/TransportConnectedDevice.stub";import{DefaultDeviceSessionService as k}from"../../device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as C}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as w}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as A}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as h}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as M}from"../../secure-channel/service/DefaultSecureChannelService";import{DefaultTransportService as T}from"../../transport/service/DefaultTransportService";import{ConnectUseCase as v}from"./ConnectUseCase";vi.mock("uuid",()=>({v4:vi.fn().mockReturnValue("fakeSessionId")}));vi.mock("@internal/manager-api/data/AxiosManagerApiDataSource");vi.mock("@internal/transport/service/DefaultTransportService");let r,o,i,e,n,u,f,a;const b="fakeSessionId";describe("ConnectUseCase",()=>{const c={id:"",deviceModel:{},transport:"USB",name:"TEST"},l=y({id:"1"}),S="logger-tag";beforeAll(()=>{i=new C([],S),r=new d,e=new k(()=>i),u=new w({}),n=new A(u),f=new h({}),a=new M(f),o=new T}),afterEach(()=>{for(const t of e.getDeviceSessions())e.removeDeviceSession(t.id)}),afterAll(()=>{vi.restoreAllMocks()}),test("If connect use case encounter an error, return it",async()=>{vi.spyOn(r,"connect").mockResolvedValue(D(new m)),vi.spyOn(o,"getTransport").mockReturnValue(p.of(r));const t=new v(o,e,()=>i,n,a);await expect(t.execute({device:c})).rejects.toBeInstanceOf(m)}),test("If connect is in success, return a deviceSession id",async()=>{vi.spyOn(r,"connect").mockResolvedValue(g(l)),vi.spyOn(o,"getTransport").mockReturnValue(p.of(r));const s=await new v(o,e,()=>i,n,a).execute({device:c});expect(s).toBe(b),e.removeDeviceSession(s)})});
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 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 { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { ConnectUseCase } from \"./ConnectUseCase\";\n\nvi.mock(\"uuid\", () => ({\n v4: vi.fn().mockReturnValue(\"fakeSessionId\"),\n}));\n\nvi.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\nvi.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;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\nconst fakeSessionId = \"fakeSessionId\";\n\ndescribe(\"ConnectUseCase\", () => {\n const stubDiscoveredDevice: DiscoveredDevice = {\n id: \"\",\n deviceModel: {} as DeviceModel,\n transport: \"USB\",\n name: \"TEST\",\n available: true,\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 secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\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 vi.restoreAllMocks();\n });\n\n test(\"If connect use case encounter an error, return it\", async () => {\n vi.spyOn(transport, \"connect\").mockResolvedValue(\n Left(new UnknownDeviceError()),\n );\n\n vi.spyOn(transportService, \"getTransport\").mockReturnValue(\n Maybe.of(transport),\n );\n\n const usecase = new ConnectUseCase(\n transportService,\n sessionService,\n () => logger,\n managerApi,\n secureChannel,\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 vi.spyOn(transport, \"connect\").mockResolvedValue(\n Right(stubConnectedDevice),\n );\n\n vi.spyOn(transportService, \"getTransport\").mockReturnValue(\n Maybe.of(transport),\n );\n\n const usecase = new ConnectUseCase(\n transportService,\n sessionService,\n () => logger,\n managerApi,\n secureChannel,\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,OAAS,QAAAA,EAAM,SAAAC,EAAO,SAAAC,MAAa,YAInC,OAAS,iBAAAC,MAAqB,+CAE9B,OAAS,sBAAAC,MAA0B,8BACnC,OAAS,8BAAAC,MAAkC,qDAE3C,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,6BAAAC,MAAiC,uDAE1C,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,kCAAAC,MAAsC,+DAE/C,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,2BAAAC,MAA+B,sDAGxC,OAAS,kBAAAC,MAAsB,mBAE/B,GAAG,KAAK,OAAQ,KAAO,CACrB,GAAI,GAAG,GAAG,EAAE,gBAAgB,eAAe,CAC7C,EAAE,EAEF,GAAG,KAAK,sDAAsD,EAC9D,GAAG,KAAK,qDAAqD,EAI7D,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACJ,MAAMC,EAAgB,gBAEtB,SAAS,iBAAkB,IAAM,CAC/B,MAAMC,EAAyC,CAC7C,GAAI,GACJ,YAAa,CAAC,EACd,UAAW,MACX,KAAM,OACN,UAAW,EACb,EACMC,EAAsBnB,EAA2B,CAAE,GAAI,GAAI,CAAC,EAC5DoB,EAAM,aAEZ,UAAU,IAAM,CACdT,EAAS,IAAIT,EAA8B,CAAC,EAAGkB,CAAG,EAClDX,EAAY,IAAIX,EAChBc,EAAiB,IAAIX,EAA4B,IAAMU,CAAM,EAC7DG,EAAuB,IAAIX,EAA0B,CAAC,CAAc,EACpEU,EAAa,IAAIT,EAAyBU,CAAoB,EAC9DC,EAA0B,IAAIV,EAC5B,CAAC,CACH,EACAW,EAAgB,IAAIV,EAA4BS,CAAuB,EAEvEL,EAAmB,IAAIH,CACzB,CAAC,EAED,UAAU,IAAM,CACd,UAAWc,KAAWT,EAAe,kBAAkB,EACrDA,EAAe,oBAAoBS,EAAQ,EAAE,CAEjD,CAAC,EAED,SAAS,IAAM,CACb,GAAG,gBAAgB,CACrB,CAAC,EAED,KAAK,oDAAqD,SAAY,CACpE,GAAG,MAAMZ,EAAW,SAAS,EAAE,kBAC7Bd,EAAK,IAAII,CAAoB,CAC/B,EAEA,GAAG,MAAMW,EAAkB,cAAc,EAAE,gBACzCd,EAAM,GAAGa,CAAS,CACpB,EAEA,MAAMa,EAAU,IAAId,EAClBE,EACAE,EACA,IAAMD,EACNE,EACAG,CACF,EAEA,MAAM,OACJM,EAAQ,QAAQ,CAAE,OAAQJ,CAAqB,CAAC,CAClD,EAAE,QAAQ,eAAenB,CAAkB,CAC7C,CAAC,EAED,KAAK,sDAAuD,SAAY,CACtE,GAAG,MAAMU,EAAW,SAAS,EAAE,kBAC7BZ,EAAMsB,CAAmB,CAC3B,EAEA,GAAG,MAAMT,EAAkB,cAAc,EAAE,gBACzCd,EAAM,GAAGa,CAAS,CACpB,EAUA,MAAMc,EAAY,MARF,IAAIf,EAClBE,EACAE,EACA,IAAMD,EACNE,EACAG,CACF,EAEgC,QAAQ,CACtC,OAAQE,CACV,CAAC,EACD,OAAOK,CAAS,EAAE,KAAKN,CAAa,EACpCL,EAAe,oBAAoBW,CAAS,CAC9C,CAAC,CACH,CAAC",
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 { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { ConnectUseCase } from \"./ConnectUseCase\";\n\nvi.mock(\"uuid\", () => ({\n v4: vi.fn().mockReturnValue(\"fakeSessionId\"),\n}));\n\nvi.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\nvi.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;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\nconst fakeSessionId = \"fakeSessionId\";\n\ndescribe(\"ConnectUseCase\", () => {\n const stubDiscoveredDevice: DiscoveredDevice = {\n id: \"\",\n deviceModel: {} as DeviceModel,\n transport: \"USB\",\n name: \"TEST\",\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 secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\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 vi.restoreAllMocks();\n });\n\n test(\"If connect use case encounter an error, return it\", async () => {\n vi.spyOn(transport, \"connect\").mockResolvedValue(\n Left(new UnknownDeviceError()),\n );\n\n vi.spyOn(transportService, \"getTransport\").mockReturnValue(\n Maybe.of(transport),\n );\n\n const usecase = new ConnectUseCase(\n transportService,\n sessionService,\n () => logger,\n managerApi,\n secureChannel,\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 vi.spyOn(transport, \"connect\").mockResolvedValue(\n Right(stubConnectedDevice),\n );\n\n vi.spyOn(transportService, \"getTransport\").mockReturnValue(\n Maybe.of(transport),\n );\n\n const usecase = new ConnectUseCase(\n transportService,\n sessionService,\n () => logger,\n managerApi,\n secureChannel,\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,OAAS,QAAAA,EAAM,SAAAC,EAAO,SAAAC,MAAa,YAInC,OAAS,iBAAAC,MAAqB,+CAE9B,OAAS,sBAAAC,MAA0B,8BACnC,OAAS,8BAAAC,MAAkC,qDAE3C,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,6BAAAC,MAAiC,uDAE1C,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,kCAAAC,MAAsC,+DAE/C,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,2BAAAC,MAA+B,sDAGxC,OAAS,kBAAAC,MAAsB,mBAE/B,GAAG,KAAK,OAAQ,KAAO,CACrB,GAAI,GAAG,GAAG,EAAE,gBAAgB,eAAe,CAC7C,EAAE,EAEF,GAAG,KAAK,sDAAsD,EAC9D,GAAG,KAAK,qDAAqD,EAI7D,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACJ,MAAMC,EAAgB,gBAEtB,SAAS,iBAAkB,IAAM,CAC/B,MAAMC,EAAyC,CAC7C,GAAI,GACJ,YAAa,CAAC,EACd,UAAW,MACX,KAAM,MACR,EACMC,EAAsBnB,EAA2B,CAAE,GAAI,GAAI,CAAC,EAC5DoB,EAAM,aAEZ,UAAU,IAAM,CACdT,EAAS,IAAIT,EAA8B,CAAC,EAAGkB,CAAG,EAClDX,EAAY,IAAIX,EAChBc,EAAiB,IAAIX,EAA4B,IAAMU,CAAM,EAC7DG,EAAuB,IAAIX,EAA0B,CAAC,CAAc,EACpEU,EAAa,IAAIT,EAAyBU,CAAoB,EAC9DC,EAA0B,IAAIV,EAC5B,CAAC,CACH,EACAW,EAAgB,IAAIV,EAA4BS,CAAuB,EAEvEL,EAAmB,IAAIH,CACzB,CAAC,EAED,UAAU,IAAM,CACd,UAAWc,KAAWT,EAAe,kBAAkB,EACrDA,EAAe,oBAAoBS,EAAQ,EAAE,CAEjD,CAAC,EAED,SAAS,IAAM,CACb,GAAG,gBAAgB,CACrB,CAAC,EAED,KAAK,oDAAqD,SAAY,CACpE,GAAG,MAAMZ,EAAW,SAAS,EAAE,kBAC7Bd,EAAK,IAAII,CAAoB,CAC/B,EAEA,GAAG,MAAMW,EAAkB,cAAc,EAAE,gBACzCd,EAAM,GAAGa,CAAS,CACpB,EAEA,MAAMa,EAAU,IAAId,EAClBE,EACAE,EACA,IAAMD,EACNE,EACAG,CACF,EAEA,MAAM,OACJM,EAAQ,QAAQ,CAAE,OAAQJ,CAAqB,CAAC,CAClD,EAAE,QAAQ,eAAenB,CAAkB,CAC7C,CAAC,EAED,KAAK,sDAAuD,SAAY,CACtE,GAAG,MAAMU,EAAW,SAAS,EAAE,kBAC7BZ,EAAMsB,CAAmB,CAC3B,EAEA,GAAG,MAAMT,EAAkB,cAAc,EAAE,gBACzCd,EAAM,GAAGa,CAAS,CACpB,EAUA,MAAMc,EAAY,MARF,IAAIf,EAClBE,EACAE,EACA,IAAMD,EACNE,EACAG,CACF,EAEgC,QAAQ,CACtC,OAAQE,CACV,CAAC,EACD,OAAOK,CAAS,EAAE,KAAKN,CAAa,EACpCL,EAAe,oBAAoBW,CAAS,CAC9C,CAAC,CACH,CAAC",
6
6
  "names": ["Left", "Maybe", "Right", "TransportMock", "UnknownDeviceError", "connectedDeviceStubBuilder", "DefaultDeviceSessionService", "DefaultLoggerPublisherService", "AxiosManagerApiDataSource", "DefaultManagerApiService", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "DefaultTransportService", "ConnectUseCase", "transport", "transportService", "logger", "sessionService", "managerApi", "managerApiDataSource", "secureChannelDataSource", "secureChannel", "fakeSessionId", "stubDiscoveredDevice", "stubConnectedDevice", "tag", "session", "usecase", "sessionId"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ var v=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var a=(p,r,e,o)=>{for(var t=o>1?void 0:o?d(r,e):r,s=p.length-1,n;s>=0;s--)(n=p[s])&&(t=(o?n(r,e,t):n(t))||t);return o&&t&&v(r,e,t),t},m=(p,r)=>(e,o)=>r(e,o,p);import{inject as D,injectable as l}from"inversify";import{from as T,map as c,merge as f,scan as u}from"rxjs";import{DeviceModel as b}from"../../../api/device/DeviceModel";import{transportDiTypes as h}from"../../transport/di/transportDiTypes";let i=class{_transports;constructor(r){this._transports=r.getAllTransports()}mapTransportDiscoveredDeviceToDiscoveredDevice(r){const e=new b({id:r.id,model:r.deviceModel.id,name:r.deviceModel.productName});return{id:r.id,deviceModel:e,transport:r.transport,name:r.name||e.name,rssi:r.rssi}}execute(){if(this._transports.length===0)return T([[]]);const r=this._transports.map((e,o)=>e.listenToAvailableDevices().pipe(c(t=>({index:o,arr:t}))));return f(...r).pipe(u((e,{index:o,arr:t})=>(e[o]=t,e),{}),c(e=>Object.values(e).flat().map(this.mapTransportDiscoveredDeviceToDiscoveredDevice)))}};i=a([l(),m(0,D(h.TransportService))],i);export{i as ListenToAvailableDevicesUseCase};
2
+ //# sourceMappingURL=ListenToAvailableDevicesUseCase.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.ts"],
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { from, map, merge, Observable, scan } from \"rxjs\";\n\nimport { DeviceModel } from \"@api/device/DeviceModel\";\nimport type { Transport } from \"@api/transport/model/Transport\";\nimport { TransportDiscoveredDevice } from \"@api/transport/model/TransportDiscoveredDevice\";\nimport { DiscoveredDevice } from \"@api/types\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\n/**\n * Listen to list of known discovered devices (and later BLE).\n */\n@injectable()\nexport class ListenToAvailableDevicesUseCase {\n private readonly _transports: Transport[];\n constructor(\n @inject(transportDiTypes.TransportService)\n transportService: TransportService,\n ) {\n this._transports = transportService.getAllTransports();\n }\n\n private mapTransportDiscoveredDeviceToDiscoveredDevice(\n discoveredDevice: TransportDiscoveredDevice,\n ): DiscoveredDevice {\n const deviceModel = new DeviceModel({\n id: discoveredDevice.id,\n model: discoveredDevice.deviceModel.id,\n name: discoveredDevice.deviceModel.productName,\n });\n return {\n id: discoveredDevice.id,\n deviceModel,\n transport: discoveredDevice.transport,\n name: discoveredDevice.name || deviceModel.name,\n rssi: discoveredDevice.rssi,\n };\n }\n\n execute(): Observable<DiscoveredDevice[]> {\n if (this._transports.length === 0) {\n return from([[]]);\n }\n\n /**\n * Note: we're not using combineLatest because combineLatest will\n * - wait for all observables to emit at least once before emitting.\n * - complete as soon as one of the observables completes.\n * Some transports will just return an empty array and complete.\n * We want to keep listening to all transports until all have completed.\n */\n\n const observablesWithIndex = this._transports.map((transport, index) =>\n transport.listenToAvailableDevices().pipe(\n map((arr) => ({\n index,\n arr,\n })),\n ),\n );\n\n return merge(...observablesWithIndex).pipe(\n scan<\n { index: number; arr: TransportDiscoveredDevice[] },\n { [key: number]: TransportDiscoveredDevice[] }\n >((acc, { index, arr }) => {\n acc[index] = arr;\n return acc;\n }, {}),\n map((acc) =>\n Object.values(acc)\n .flat()\n .map(this.mapTransportDiscoveredDeviceToDiscoveredDevice),\n ),\n );\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YACnC,OAAS,QAAAC,EAAM,OAAAC,EAAK,SAAAC,EAAmB,QAAAC,MAAY,OAEnD,OAAS,eAAAC,MAAmB,0BAI5B,OAAS,oBAAAC,MAAwB,0CAO1B,IAAMC,EAAN,KAAsC,CAC1B,YACjB,YAEEC,EACA,CACA,KAAK,YAAcA,EAAiB,iBAAiB,CACvD,CAEQ,+CACNC,EACkB,CAClB,MAAMC,EAAc,IAAIC,EAAY,CAClC,GAAIF,EAAiB,GACrB,MAAOA,EAAiB,YAAY,GACpC,KAAMA,EAAiB,YAAY,WACrC,CAAC,EACD,MAAO,CACL,GAAIA,EAAiB,GACrB,YAAAC,EACA,UAAWD,EAAiB,UAC5B,KAAMA,EAAiB,MAAQC,EAAY,KAC3C,KAAMD,EAAiB,IACzB,CACF,CAEA,SAA0C,CACxC,GAAI,KAAK,YAAY,SAAW,EAC9B,OAAOG,EAAK,CAAC,CAAC,CAAC,CAAC,EAWlB,MAAMC,EAAuB,KAAK,YAAY,IAAI,CAACC,EAAWC,IAC5DD,EAAU,yBAAyB,EAAE,KACnCE,EAAKC,IAAS,CACZ,MAAAF,EACA,IAAAE,CACF,EAAE,CACJ,CACF,EAEA,OAAOC,EAAM,GAAGL,CAAoB,EAAE,KACpCM,EAGE,CAACC,EAAK,CAAE,MAAAL,EAAO,IAAAE,CAAI,KACnBG,EAAIL,CAAK,EAAIE,EACNG,GACN,CAAC,CAAC,EACLJ,EAAKI,GACH,OAAO,OAAOA,CAAG,EACd,KAAK,EACL,IAAI,KAAK,8CAA8C,CAC5D,CACF,CACF,CACF,EA/Dab,EAANc,EAAA,CADNC,EAAW,EAIPC,EAAA,EAAAC,EAAOC,EAAiB,gBAAgB,IAHhClB",
6
+ "names": ["inject", "injectable", "from", "map", "merge", "scan", "DeviceModel", "transportDiTypes", "ListenToAvailableDevicesUseCase", "transportService", "discoveredDevice", "deviceModel", "DeviceModel", "from", "observablesWithIndex", "transport", "index", "map", "arr", "merge", "scan", "acc", "__decorateClass", "injectable", "__decorateParam", "inject", "transportDiTypes"]
7
+ }