@ledgerhq/device-management-kit 1.5.0 → 1.6.0

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 (76) hide show
  1. package/lib/cjs/package.json +1 -1
  2. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
  3. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
  4. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +1 -1
  5. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +3 -3
  6. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  7. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  8. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
  9. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +3 -3
  10. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  11. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  12. package/lib/cjs/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.js +2 -0
  13. package/lib/cjs/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.js.map +7 -0
  14. package/lib/cjs/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.js +2 -0
  15. package/lib/cjs/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.js.map +7 -0
  16. package/lib/cjs/src/api/device-action/os/WaitForAppAndVersion/types.js +2 -0
  17. package/lib/cjs/src/api/device-action/os/WaitForAppAndVersion/types.js.map +7 -0
  18. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.js +1 -1
  19. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.js.map +3 -3
  20. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.test.js +1 -1
  21. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.test.js.map +2 -2
  22. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.js +1 -1
  23. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.js.map +2 -2
  24. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.test.js +1 -1
  25. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.test.js.map +2 -2
  26. package/lib/cjs/src/api/index.js +1 -1
  27. package/lib/cjs/src/api/index.js.map +3 -3
  28. package/lib/cjs/src/api/utils/AppName.js +1 -1
  29. package/lib/cjs/src/api/utils/AppName.js.map +3 -3
  30. package/lib/esm/package.json +1 -1
  31. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
  32. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
  33. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +1 -1
  34. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +3 -3
  35. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  36. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  37. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
  38. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +3 -3
  39. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  40. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  41. package/lib/esm/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.js +2 -0
  42. package/lib/esm/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.js.map +7 -0
  43. package/lib/esm/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.js +2 -0
  44. package/lib/esm/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.js.map +7 -0
  45. package/lib/esm/src/api/device-action/os/WaitForAppAndVersion/types.js +2 -0
  46. package/lib/esm/src/api/device-action/os/WaitForAppAndVersion/types.js.map +7 -0
  47. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.js +1 -1
  48. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.js.map +3 -3
  49. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.test.js +1 -1
  50. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.test.js.map +2 -2
  51. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.js +1 -1
  52. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.js.map +2 -2
  53. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.test.js +1 -1
  54. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.test.js.map +2 -2
  55. package/lib/esm/src/api/index.js +1 -1
  56. package/lib/esm/src/api/index.js.map +3 -3
  57. package/lib/esm/src/api/utils/AppName.js +1 -1
  58. package/lib/esm/src/api/utils/AppName.js.map +3 -3
  59. package/lib/types/src/api/command/os/__mocks__/GetOsVersionCommand.d.ts.map +1 -1
  60. package/lib/types/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.d.ts +3 -1
  61. package/lib/types/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.d.ts.map +1 -1
  62. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.d.ts +0 -1
  63. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.d.ts.map +1 -1
  64. package/lib/types/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.d.ts +25 -0
  65. package/lib/types/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.d.ts.map +1 -0
  66. package/lib/types/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.d.ts +2 -0
  67. package/lib/types/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.d.ts.map +1 -0
  68. package/lib/types/src/api/device-action/os/WaitForAppAndVersion/types.d.ts +22 -0
  69. package/lib/types/src/api/device-action/os/WaitForAppAndVersion/types.d.ts.map +1 -0
  70. package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.d.ts.map +1 -1
  71. package/lib/types/src/api/index.d.ts +2 -0
  72. package/lib/types/src/api/index.d.ts.map +1 -1
  73. package/lib/types/src/api/utils/AppName.d.ts +2 -1
  74. package/lib/types/src/api/utils/AppName.d.ts.map +1 -1
  75. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  76. package/package.json +3 -3
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.ts"],
4
+ "sourcesContent": ["import { of, throwError } from \"rxjs\";\n\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport {\n GLOBAL_ERRORS,\n GlobalCommandError,\n} from \"@api/command/utils/GlobalCommandError\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { testDeviceActionStates } from \"@api/device-action/__test-utils__/testDeviceActionStates\";\nimport { DeviceActionStatus } from \"@api/device-action/model/DeviceActionState\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport {\n DeviceLockedError,\n UnknownDAError,\n} from \"@api/device-action/os/Errors\";\n\nimport {\n type WaitForAppAndVersionDAState,\n waitForAppAndVersionDAStateStep,\n} from \"./types\";\nimport { WaitForAppAndVersionDeviceAction } from \"./WaitForAppAndVersionDeviceAction\";\n\nconst appAndVersionResult = (name: string, version: string) =>\n CommandResultFactory({\n data: {\n name,\n version,\n },\n });\n\nconst lockedErrorResult = () =>\n CommandResultFactory({\n error: new GlobalCommandError({\n ...GLOBAL_ERRORS[\"5515\"],\n errorCode: \"5515\",\n }),\n });\n\nconst claNotSupportedErrorResult = () =>\n CommandResultFactory({\n error: new GlobalCommandError({\n ...GLOBAL_ERRORS[\"6e00\"],\n errorCode: \"6e00\",\n }),\n });\n\nconst getAppAndVersionPendingState = (): WaitForAppAndVersionDAState => ({\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: waitForAppAndVersionDAStateStep.GET_APP_AND_VERSION,\n },\n status: DeviceActionStatus.Pending,\n});\n\nconst unlockRequestedPendingState = (): WaitForAppAndVersionDAState => ({\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.UnlockDevice,\n step: waitForAppAndVersionDAStateStep.UNLOCK_DEVICE,\n },\n status: DeviceActionStatus.Pending,\n});\n\ndescribe(\"WaitForAppAndVersionDeviceAction\", () => {\n const getAppAndVersionMock = vi.fn();\n const waitForDeviceUnlockMock = vi.fn();\n\n function extractDependenciesMock() {\n return {\n getAppAndVersion: getAppAndVersionMock,\n waitForDeviceUnlock: waitForDeviceUnlockMock,\n };\n }\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"should succeed on the first call when the device is already unlocked\", () =>\n new Promise<void>((resolve, reject) => {\n getAppAndVersionMock.mockResolvedValue(\n appAndVersionResult(\"BOLOS\", \"1.0.0\"),\n );\n\n const deviceAction = new WaitForAppAndVersionDeviceAction({\n input: { unlockTimeout: 500 },\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<WaitForAppAndVersionDAState> = [\n getAppAndVersionPendingState(),\n {\n status: DeviceActionStatus.Completed,\n output: {\n name: \"BOLOS\",\n version: \"1.0.0\",\n },\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should wait for the device to be unlocked then succeed\", () =>\n new Promise<void>((resolve, reject) => {\n getAppAndVersionMock\n .mockResolvedValueOnce(lockedErrorResult())\n .mockResolvedValueOnce(appAndVersionResult(\"Bitcoin\", \"2.1.0\"));\n\n waitForDeviceUnlockMock.mockReturnValue(of(undefined));\n\n const deviceAction = new WaitForAppAndVersionDeviceAction({\n input: { unlockTimeout: 500 },\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<WaitForAppAndVersionDAState> = [\n getAppAndVersionPendingState(),\n unlockRequestedPendingState(),\n getAppAndVersionPendingState(),\n {\n status: DeviceActionStatus.Completed,\n output: {\n name: \"Bitcoin\",\n version: \"2.1.0\",\n },\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should consider the device on the dashboard of an old firmware when CLA is not supported\", () =>\n new Promise<void>((resolve, reject) => {\n getAppAndVersionMock.mockResolvedValue(claNotSupportedErrorResult());\n\n const deviceAction = new WaitForAppAndVersionDeviceAction({\n input: { unlockTimeout: 500 },\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<WaitForAppAndVersionDAState> = [\n getAppAndVersionPendingState(),\n {\n status: DeviceActionStatus.Completed,\n output: {\n name: \"BOLOS\",\n version: \"0.0.0\",\n },\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if the device stays locked until the unlock timeout\", () =>\n new Promise<void>((resolve, reject) => {\n getAppAndVersionMock.mockResolvedValue(lockedErrorResult());\n\n waitForDeviceUnlockMock.mockReturnValue(\n throwError(() => new DeviceLockedError()),\n );\n\n const deviceAction = new WaitForAppAndVersionDeviceAction({\n input: { unlockTimeout: 500 },\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<WaitForAppAndVersionDAState> = [\n getAppAndVersionPendingState(),\n unlockRequestedPendingState(),\n {\n status: DeviceActionStatus.Error,\n error: new DeviceLockedError(),\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if the GetAppAndVersion command fails with a non-locked error\", () =>\n new Promise<void>((resolve, reject) => {\n const error = new GlobalCommandError({\n ...GLOBAL_ERRORS[\"5501\"],\n errorCode: \"5501\",\n });\n\n getAppAndVersionMock.mockResolvedValue(CommandResultFactory({ error }));\n\n const deviceAction = new WaitForAppAndVersionDeviceAction({\n input: { unlockTimeout: 500 },\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<WaitForAppAndVersionDAState> = [\n getAppAndVersionPendingState(),\n {\n status: DeviceActionStatus.Error,\n error,\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if the getAppAndVersion actor throws an error\", () =>\n new Promise<void>((resolve, reject) => {\n getAppAndVersionMock.mockImplementation(() => {\n throw new UnknownDAError(\"error\");\n });\n\n const deviceAction = new WaitForAppAndVersionDeviceAction({\n input: { unlockTimeout: 500 },\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<WaitForAppAndVersionDAState> = [\n getAppAndVersionPendingState(),\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"error\"),\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAA+B,gBAE/BC,EAAqC,4CACrCC,EAGO,iDACPC,EAAgD,6DAChDC,EAAuC,oEACvCC,EAAmC,sDACnCC,EAAwC,4DACxCC,EAGO,wCAEPC,EAGO,mBACPC,EAAiD,8CAEjD,MAAMC,EAAsB,CAACC,EAAcC,OACzC,wBAAqB,CACnB,KAAM,CACJ,KAAAD,EACA,QAAAC,CACF,CACF,CAAC,EAEGC,EAAoB,OACxB,wBAAqB,CACnB,MAAO,IAAI,qBAAmB,CAC5B,GAAG,gBAAc,IAAM,EACvB,UAAW,MACb,CAAC,CACH,CAAC,EAEGC,EAA6B,OACjC,wBAAqB,CACnB,MAAO,IAAI,qBAAmB,CAC5B,GAAG,gBAAc,MAAM,EACvB,UAAW,MACb,CAAC,CACH,CAAC,EAEGC,EAA+B,KAAoC,CACvE,kBAAmB,CACjB,wBAAyB,0BAAwB,KACjD,KAAM,kCAAgC,mBACxC,EACA,OAAQ,qBAAmB,OAC7B,GAEMC,EAA8B,KAAoC,CACtE,kBAAmB,CACjB,wBAAyB,0BAAwB,aACjD,KAAM,kCAAgC,aACxC,EACA,OAAQ,qBAAmB,OAC7B,GAEA,SAAS,mCAAoC,IAAM,CACjD,MAAMC,EAAuB,GAAG,GAAG,EAC7BC,EAA0B,GAAG,GAAG,EAEtC,SAASC,GAA0B,CACjC,MAAO,CACL,iBAAkBF,EAClB,oBAAqBC,CACvB,CACF,CAEA,WAAW,IAAM,CACf,GAAG,cAAc,CACnB,CAAC,EAED,GAAG,uEAAwE,IACzE,IAAI,QAAc,CAACE,EAASC,IAAW,CACrCJ,EAAqB,kBACnBP,EAAoB,QAAS,OAAO,CACtC,EAEA,MAAMY,EAAe,IAAI,mCAAiC,CACxD,MAAO,CAAE,cAAe,GAAI,CAC9B,CAAC,EAED,GAAG,MAAMA,EAAc,qBAAqB,EAAE,gBAC5CH,EAAwB,CAC1B,EAEA,MAAMI,EAAqD,CACzDR,EAA6B,EAC7B,CACE,OAAQ,qBAAmB,UAC3B,OAAQ,CACN,KAAM,QACN,QAAS,OACX,CACF,CACF,KAEA,0BACEO,EACAC,KACA,mCAAgC,EAChC,CACE,OAAQH,EACR,QAASC,CACX,CACF,CACF,CAAC,CAAC,EAEJ,GAAG,yDAA0D,IAC3D,IAAI,QAAc,CAACD,EAASC,IAAW,CACrCJ,EACG,sBAAsBJ,EAAkB,CAAC,EACzC,sBAAsBH,EAAoB,UAAW,OAAO,CAAC,EAEhEQ,EAAwB,mBAAgB,MAAG,MAAS,CAAC,EAErD,MAAMI,EAAe,IAAI,mCAAiC,CACxD,MAAO,CAAE,cAAe,GAAI,CAC9B,CAAC,EAED,GAAG,MAAMA,EAAc,qBAAqB,EAAE,gBAC5CH,EAAwB,CAC1B,EAEA,MAAMI,EAAqD,CACzDR,EAA6B,EAC7BC,EAA4B,EAC5BD,EAA6B,EAC7B,CACE,OAAQ,qBAAmB,UAC3B,OAAQ,CACN,KAAM,UACN,QAAS,OACX,CACF,CACF,KAEA,0BACEO,EACAC,KACA,mCAAgC,EAChC,CACE,OAAQH,EACR,QAASC,CACX,CACF,CACF,CAAC,CAAC,EAEJ,GAAG,2FAA4F,IAC7F,IAAI,QAAc,CAACD,EAASC,IAAW,CACrCJ,EAAqB,kBAAkBH,EAA2B,CAAC,EAEnE,MAAMQ,EAAe,IAAI,mCAAiC,CACxD,MAAO,CAAE,cAAe,GAAI,CAC9B,CAAC,EAED,GAAG,MAAMA,EAAc,qBAAqB,EAAE,gBAC5CH,EAAwB,CAC1B,EAEA,MAAMI,EAAqD,CACzDR,EAA6B,EAC7B,CACE,OAAQ,qBAAmB,UAC3B,OAAQ,CACN,KAAM,QACN,QAAS,OACX,CACF,CACF,KAEA,0BACEO,EACAC,KACA,mCAAgC,EAChC,CACE,OAAQH,EACR,QAASC,CACX,CACF,CACF,CAAC,CAAC,EAEJ,GAAG,6EAA8E,IAC/E,IAAI,QAAc,CAACD,EAASC,IAAW,CACrCJ,EAAqB,kBAAkBJ,EAAkB,CAAC,EAE1DK,EAAwB,mBACtB,cAAW,IAAM,IAAI,mBAAmB,CAC1C,EAEA,MAAMI,EAAe,IAAI,mCAAiC,CACxD,MAAO,CAAE,cAAe,GAAI,CAC9B,CAAC,EAED,GAAG,MAAMA,EAAc,qBAAqB,EAAE,gBAC5CH,EAAwB,CAC1B,EAEA,MAAMI,EAAqD,CACzDR,EAA6B,EAC7BC,EAA4B,EAC5B,CACE,OAAQ,qBAAmB,MAC3B,MAAO,IAAI,mBACb,CACF,KAEA,0BACEM,EACAC,KACA,mCAAgC,EAChC,CACE,OAAQH,EACR,QAASC,CACX,CACF,CACF,CAAC,CAAC,EAEJ,GAAG,uFAAwF,IACzF,IAAI,QAAc,CAACD,EAASC,IAAW,CACrC,MAAMG,EAAQ,IAAI,qBAAmB,CACnC,GAAG,gBAAc,IAAM,EACvB,UAAW,MACb,CAAC,EAEDP,EAAqB,qBAAkB,wBAAqB,CAAE,MAAAO,CAAM,CAAC,CAAC,EAEtE,MAAMF,EAAe,IAAI,mCAAiC,CACxD,MAAO,CAAE,cAAe,GAAI,CAC9B,CAAC,EAED,GAAG,MAAMA,EAAc,qBAAqB,EAAE,gBAC5CH,EAAwB,CAC1B,EAEA,MAAMI,EAAqD,CACzDR,EAA6B,EAC7B,CACE,OAAQ,qBAAmB,MAC3B,MAAAS,CACF,CACF,KAEA,0BACEF,EACAC,KACA,mCAAgC,EAChC,CACE,OAAQH,EACR,QAASC,CACX,CACF,CACF,CAAC,CAAC,EAEJ,GAAG,uEAAwE,IACzE,IAAI,QAAc,CAACD,EAASC,IAAW,CACrCJ,EAAqB,mBAAmB,IAAM,CAC5C,MAAM,IAAI,iBAAe,OAAO,CAClC,CAAC,EAED,MAAMK,EAAe,IAAI,mCAAiC,CACxD,MAAO,CAAE,cAAe,GAAI,CAC9B,CAAC,EAED,GAAG,MAAMA,EAAc,qBAAqB,EAAE,gBAC5CH,EAAwB,CAC1B,EAEA,MAAMI,EAAqD,CACzDR,EAA6B,EAC7B,CACE,OAAQ,qBAAmB,MAC3B,MAAO,IAAI,iBAAe,OAAO,CACnC,CACF,KAEA,0BACEO,EACAC,KACA,mCAAgC,EAChC,CACE,OAAQH,EACR,QAASC,CACX,CACF,CACF,CAAC,CAAC,CACN,CAAC",
6
+ "names": ["import_rxjs", "import_CommandResult", "import_GlobalCommandError", "import_makeInternalApi", "import_testDeviceActionStates", "import_DeviceActionState", "import_UserInteractionRequired", "import_Errors", "import_types", "import_WaitForAppAndVersionDeviceAction", "appAndVersionResult", "name", "version", "lockedErrorResult", "claNotSupportedErrorResult", "getAppAndVersionPendingState", "unlockRequestedPendingState", "getAppAndVersionMock", "waitForDeviceUnlockMock", "extractDependenciesMock", "resolve", "reject", "deviceAction", "expectedStates", "error"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var p=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var a=(r,e)=>{for(var o in e)p(r,o,{get:e[o],enumerable:!0})},d=(r,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of A(e))!s.call(r,t)&&t!==o&&p(r,t,{get:()=>e[t],enumerable:!(n=i(e,t))||n.enumerable});return r};var D=r=>d(p({},"__esModule",{value:!0}),r);var c={};a(c,{waitForAppAndVersionDAStateStep:()=>V});module.exports=D(c);const V=Object.freeze({GET_APP_AND_VERSION:"os.waitForAppAndVersion.steps.getAppAndVersion",UNLOCK_DEVICE:"os.waitForAppAndVersion.steps.unlockDevice"});0&&(module.exports={waitForAppAndVersionDAStateStep});
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/api/device-action/os/WaitForAppAndVersion/types.ts"],
4
+ "sourcesContent": ["import { type CommandErrorResult } from \"@api/command/model/CommandResult\";\nimport { type GetAppAndVersionResponse } from \"@api/command/os/GetAppAndVersionCommand\";\nimport { type DeviceActionState } from \"@api/device-action/model/DeviceActionState\";\nimport { type UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport {\n type DeviceLockedError,\n type UnknownDAError,\n} from \"@api/device-action/os/Errors\";\n\nexport const waitForAppAndVersionDAStateStep = Object.freeze({\n GET_APP_AND_VERSION: \"os.waitForAppAndVersion.steps.getAppAndVersion\",\n UNLOCK_DEVICE: \"os.waitForAppAndVersion.steps.unlockDevice\",\n} as const);\n\nexport type WaitForAppAndVersionDAStateStep =\n (typeof waitForAppAndVersionDAStateStep)[keyof typeof waitForAppAndVersionDAStateStep];\n\nexport type WaitForAppAndVersionDAOutput = GetAppAndVersionResponse;\n\nexport type WaitForAppAndVersionDAInput = {\n readonly unlockTimeout?: number;\n};\n\nexport type WaitForAppAndVersionDAError =\n | DeviceLockedError\n | UnknownDAError\n | CommandErrorResult[\"error\"];\n\nexport type WaitForAppAndVersionDARequiredInteraction =\n | UserInteractionRequired.None\n | UserInteractionRequired.UnlockDevice;\n\nexport type WaitForAppAndVersionDAIntermediateValue = {\n requiredUserInteraction: WaitForAppAndVersionDARequiredInteraction;\n step: WaitForAppAndVersionDAStateStep;\n};\n\nexport type WaitForAppAndVersionDAState = DeviceActionState<\n WaitForAppAndVersionDAOutput,\n WaitForAppAndVersionDAError,\n WaitForAppAndVersionDAIntermediateValue\n>;\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qCAAAE,IAAA,eAAAC,EAAAH,GASO,MAAME,EAAkC,OAAO,OAAO,CAC3D,oBAAqB,iDACrB,cAAe,4CACjB,CAAU",
6
+ "names": ["types_exports", "__export", "waitForAppAndVersionDAStateStep", "__toCommonJS"]
7
+ }
@@ -1,2 +1,2 @@
1
- "use strict";var u=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var v=(n,e)=>{for(var t in e)u(n,t,{get:e[t],enumerable:!0})},b=(n,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of M(e))!f.call(n,r)&&r!==t&&u(n,r,{get:()=>e[r],enumerable:!(o=k(e,r))||o.enumerable});return n};var B=n=>b(u({},"__esModule",{value:!0}),n);var A={};v(A,{PredictOutOfMemoryTask:()=>w});module.exports=B(A);var g=require("../../device-action/os/Errors"),y=require("../../device-session/DeviceSessionState");class w{constructor(e,t){this.api=e;this.args=t;this.deviceModel=e.getDeviceModel()}deviceModel;run(){const e=this.api.getDeviceSessionState();if(e.sessionStateType===y.DeviceSessionStateType.Connected)return{error:new g.UnknownDAError("Invalid device state")};const{firmwareUpdateContext:t,customImage:o,firmwareVersion:r,installedLanguages:a,installedApps:s}=e;if(t===void 0||o===void 0||r===void 0||a===void 0)return{error:new g.UnknownDAError("Device metadata not fetched")};const{blockSize:l,totalMemoryBlocks:c}=this.getMemoryConstants(r),m=this.getCurrentMemoryBlocksUsage({firmwareUpdateContext:t,customImage:o,installedApps:s,installedLanguages:a,blockSize:l}),p=this.getInstallPlanMemoryBlocksUsage(this.args.installPlan,l);return{outOfMemory:m+p>c}}getMemoryConstants(e){const t=this.deviceModel.getBlockSize({firmwareVersion:e.os}),o=Math.floor(this.deviceModel.memorySize/t);return{blockSize:t,totalMemoryBlocks:o}}getCurrentMemoryBlocksUsage({firmwareUpdateContext:e,customImage:t,installedApps:o,installedLanguages:r,blockSize:a}){const s=i=>Math.ceil(i/a),l=s(e.currentFirmware.bytes||0),c=s(t.size||0),m=o.reduce((i,d)=>i+s(d.bytes||0),0),p=r.reduce((i,d)=>i+s(d.size),0);return l+c+m+p}getInstallPlanMemoryBlocksUsage(e,t){const o=r=>Math.ceil(r/t);return e.reduce((r,a)=>r+o(a.bytes||0),0)}}0&&(module.exports={PredictOutOfMemoryTask});
1
+ "use strict";var u=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var v=(n,e)=>{for(var t in e)u(n,t,{get:e[t],enumerable:!0})},b=(n,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of M(e))!f.call(n,r)&&r!==t&&u(n,r,{get:()=>e[r],enumerable:!(o=k(e,r))||o.enumerable});return n};var B=n=>b(u({},"__esModule",{value:!0}),n);var S={};v(S,{PredictOutOfMemoryTask:()=>A});module.exports=B(S);var g=require("../../device-action/os/Errors"),y=require("../../device-session/DeviceSessionState");const w=1;class A{constructor(e,t){this.api=e;this.args=t;this.deviceModel=e.getDeviceModel()}deviceModel;run(){const e=this.api.getDeviceSessionState();if(e.sessionStateType===y.DeviceSessionStateType.Connected)return{error:new g.UnknownDAError("Invalid device state")};const{firmwareUpdateContext:t,customImage:o,firmwareVersion:r,installedLanguages:a,installedApps:s}=e;if(t===void 0||o===void 0||r===void 0||a===void 0)return{error:new g.UnknownDAError("Device metadata not fetched")};const{blockSize:l,totalMemoryBlocks:c}=this.getMemoryConstants(r),m=this.getCurrentMemoryBlocksUsage({firmwareUpdateContext:t,customImage:o,installedApps:s,installedLanguages:a,blockSize:l}),p=this.getInstallPlanMemoryBlocksUsage(this.args.installPlan,l);return{outOfMemory:m+p>=c-w}}getMemoryConstants(e){const t=this.deviceModel.getBlockSize({firmwareVersion:e.os}),o=Math.floor(this.deviceModel.memorySize/t);return{blockSize:t,totalMemoryBlocks:o}}getCurrentMemoryBlocksUsage({firmwareUpdateContext:e,customImage:t,installedApps:o,installedLanguages:r,blockSize:a}){const s=i=>Math.ceil(i/a),l=s(e.currentFirmware.bytes||0),c=s(t.size||0),m=o.reduce((i,d)=>i+s(d.bytes||0),0),p=r.reduce((i,d)=>i+s(d.size),0);return l+c+m+p}getInstallPlanMemoryBlocksUsage(e,t){const o=r=>Math.ceil(r/t);return e.reduce((r,a)=>r+o(a.bytes||0),0)}}0&&(module.exports={PredictOutOfMemoryTask});
2
2
  //# sourceMappingURL=PredictOutOfMemoryTask.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/device-action/task/PredictOutOfMemoryTask.ts"],
4
- "sourcesContent": ["import type { InternalApi } from \"@api/device-action/DeviceAction\";\nimport { UnknownDAError } from \"@api/device-action/os/Errors\";\nimport { type TransportDeviceModel } from \"@api/device-model/model/DeviceModel\";\nimport {\n type CustomImage,\n DeviceSessionStateType,\n type FirmwareUpdateContext,\n type FirmwareVersion,\n type InstalledLanguagePackage,\n} from \"@api/device-session/DeviceSessionState\";\nimport type { Application } from \"@internal/manager-api/model/Application\";\n\nexport type PredictOutOfMemoryTaskArgs = {\n installPlan: Application[];\n};\n\nexport type PredictOutOfMemoryTaskResult =\n | {\n outOfMemory: boolean;\n }\n | {\n error: UnknownDAError;\n };\n\nexport class PredictOutOfMemoryTask {\n private readonly deviceModel: TransportDeviceModel;\n\n constructor(\n private readonly api: InternalApi,\n private readonly args: PredictOutOfMemoryTaskArgs,\n ) {\n this.deviceModel = api.getDeviceModel();\n }\n\n run(): PredictOutOfMemoryTaskResult {\n const deviceState = this.api.getDeviceSessionState();\n\n if (deviceState.sessionStateType === DeviceSessionStateType.Connected) {\n return { error: new UnknownDAError(\"Invalid device state\") };\n }\n\n const {\n firmwareUpdateContext,\n customImage,\n firmwareVersion,\n installedLanguages,\n installedApps,\n } = deviceState;\n\n if (\n firmwareUpdateContext === undefined ||\n customImage === undefined ||\n firmwareVersion === undefined ||\n installedLanguages === undefined\n ) {\n return { error: new UnknownDAError(\"Device metadata not fetched\") };\n }\n\n const { blockSize, totalMemoryBlocks } =\n this.getMemoryConstants(firmwareVersion);\n\n const currentMemoryBlocksUsage = this.getCurrentMemoryBlocksUsage({\n firmwareUpdateContext,\n customImage,\n installedApps,\n installedLanguages,\n blockSize,\n });\n\n const installPlanBlocksUsage = this.getInstallPlanMemoryBlocksUsage(\n this.args.installPlan,\n blockSize,\n );\n\n return {\n outOfMemory:\n currentMemoryBlocksUsage + installPlanBlocksUsage > totalMemoryBlocks,\n };\n }\n\n private getMemoryConstants(firmwareVersion: FirmwareVersion): {\n blockSize: number;\n totalMemoryBlocks: number;\n } {\n const blockSize = this.deviceModel.getBlockSize({\n firmwareVersion: firmwareVersion.os,\n });\n const totalMemoryBlocks = Math.floor(\n this.deviceModel.memorySize / blockSize,\n );\n return { blockSize, totalMemoryBlocks };\n }\n\n private getCurrentMemoryBlocksUsage({\n firmwareUpdateContext,\n customImage,\n installedApps,\n installedLanguages,\n blockSize,\n }: {\n firmwareUpdateContext: FirmwareUpdateContext;\n customImage: CustomImage;\n installedApps: Application[];\n installedLanguages: InstalledLanguagePackage[];\n blockSize: number;\n }): number {\n const bytesToBlocks = (size: number) => Math.ceil(size / blockSize);\n const firmwareBlocks = bytesToBlocks(\n firmwareUpdateContext.currentFirmware.bytes || 0,\n );\n const customImageBlocks = bytesToBlocks(customImage.size || 0);\n const applicationsBlocks = installedApps.reduce(\n (size, app) => size + bytesToBlocks(app.bytes || 0),\n 0,\n );\n const languagesBlocks = installedLanguages.reduce(\n (size, lang) => size + bytesToBlocks(lang.size),\n 0,\n );\n return (\n firmwareBlocks + customImageBlocks + applicationsBlocks + languagesBlocks\n );\n }\n\n private getInstallPlanMemoryBlocksUsage(\n installPlan: Application[],\n blockSize: number,\n ): number {\n const bytesToBlocks = (size: number) => Math.ceil(size / blockSize);\n return installPlan.reduce(\n (size, app) => size + bytesToBlocks(app.bytes || 0),\n 0,\n );\n }\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,4BAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAA+B,wCAE/BC,EAMO,kDAeA,MAAMH,CAAuB,CAGlC,YACmBI,EACAC,EACjB,CAFiB,SAAAD,EACA,UAAAC,EAEjB,KAAK,YAAcD,EAAI,eAAe,CACxC,CAPiB,YASjB,KAAoC,CAClC,MAAME,EAAc,KAAK,IAAI,sBAAsB,EAEnD,GAAIA,EAAY,mBAAqB,yBAAuB,UAC1D,MAAO,CAAE,MAAO,IAAI,iBAAe,sBAAsB,CAAE,EAG7D,KAAM,CACJ,sBAAAC,EACA,YAAAC,EACA,gBAAAC,EACA,mBAAAC,EACA,cAAAC,CACF,EAAIL,EAEJ,GACEC,IAA0B,QAC1BC,IAAgB,QAChBC,IAAoB,QACpBC,IAAuB,OAEvB,MAAO,CAAE,MAAO,IAAI,iBAAe,6BAA6B,CAAE,EAGpE,KAAM,CAAE,UAAAE,EAAW,kBAAAC,CAAkB,EACnC,KAAK,mBAAmBJ,CAAe,EAEnCK,EAA2B,KAAK,4BAA4B,CAChE,sBAAAP,EACA,YAAAC,EACA,cAAAG,EACA,mBAAAD,EACA,UAAAE,CACF,CAAC,EAEKG,EAAyB,KAAK,gCAClC,KAAK,KAAK,YACVH,CACF,EAEA,MAAO,CACL,YACEE,EAA2BC,EAAyBF,CACxD,CACF,CAEQ,mBAAmBJ,EAGzB,CACA,MAAMG,EAAY,KAAK,YAAY,aAAa,CAC9C,gBAAiBH,EAAgB,EACnC,CAAC,EACKI,EAAoB,KAAK,MAC7B,KAAK,YAAY,WAAaD,CAChC,EACA,MAAO,CAAE,UAAAA,EAAW,kBAAAC,CAAkB,CACxC,CAEQ,4BAA4B,CAClC,sBAAAN,EACA,YAAAC,EACA,cAAAG,EACA,mBAAAD,EACA,UAAAE,CACF,EAMW,CACT,MAAMI,EAAiBC,GAAiB,KAAK,KAAKA,EAAOL,CAAS,EAC5DM,EAAiBF,EACrBT,EAAsB,gBAAgB,OAAS,CACjD,EACMY,EAAoBH,EAAcR,EAAY,MAAQ,CAAC,EACvDY,EAAqBT,EAAc,OACvC,CAACM,EAAMI,IAAQJ,EAAOD,EAAcK,EAAI,OAAS,CAAC,EAClD,CACF,EACMC,EAAkBZ,EAAmB,OACzC,CAACO,EAAMM,IAASN,EAAOD,EAAcO,EAAK,IAAI,EAC9C,CACF,EACA,OACEL,EAAiBC,EAAoBC,EAAqBE,CAE9D,CAEQ,gCACNE,EACAZ,EACQ,CACR,MAAMI,EAAiBC,GAAiB,KAAK,KAAKA,EAAOL,CAAS,EAClE,OAAOY,EAAY,OACjB,CAACP,EAAMI,IAAQJ,EAAOD,EAAcK,EAAI,OAAS,CAAC,EAClD,CACF,CACF,CACF",
6
- "names": ["PredictOutOfMemoryTask_exports", "__export", "PredictOutOfMemoryTask", "__toCommonJS", "import_Errors", "import_DeviceSessionState", "api", "args", "deviceState", "firmwareUpdateContext", "customImage", "firmwareVersion", "installedLanguages", "installedApps", "blockSize", "totalMemoryBlocks", "currentMemoryBlocksUsage", "installPlanBlocksUsage", "bytesToBlocks", "size", "firmwareBlocks", "customImageBlocks", "applicationsBlocks", "app", "languagesBlocks", "lang", "installPlan"]
4
+ "sourcesContent": ["import type { InternalApi } from \"@api/device-action/DeviceAction\";\nimport { UnknownDAError } from \"@api/device-action/os/Errors\";\nimport { type TransportDeviceModel } from \"@api/device-model/model/DeviceModel\";\nimport {\n type CustomImage,\n DeviceSessionStateType,\n type FirmwareUpdateContext,\n type FirmwareVersion,\n type InstalledLanguagePackage,\n} from \"@api/device-session/DeviceSessionState\";\nimport type { Application } from \"@internal/manager-api/model/Application\";\n\nexport type PredictOutOfMemoryTaskArgs = {\n installPlan: Application[];\n};\n\nexport type PredictOutOfMemoryTaskResult =\n | {\n outOfMemory: boolean;\n }\n | {\n error: UnknownDAError;\n };\n\nconst RESERVED_BLOCKS = 1;\n\nexport class PredictOutOfMemoryTask {\n private readonly deviceModel: TransportDeviceModel;\n\n constructor(\n private readonly api: InternalApi,\n private readonly args: PredictOutOfMemoryTaskArgs,\n ) {\n this.deviceModel = api.getDeviceModel();\n }\n\n run(): PredictOutOfMemoryTaskResult {\n const deviceState = this.api.getDeviceSessionState();\n\n if (deviceState.sessionStateType === DeviceSessionStateType.Connected) {\n return { error: new UnknownDAError(\"Invalid device state\") };\n }\n\n const {\n firmwareUpdateContext,\n customImage,\n firmwareVersion,\n installedLanguages,\n installedApps,\n } = deviceState;\n\n if (\n firmwareUpdateContext === undefined ||\n customImage === undefined ||\n firmwareVersion === undefined ||\n installedLanguages === undefined\n ) {\n return { error: new UnknownDAError(\"Device metadata not fetched\") };\n }\n\n const { blockSize, totalMemoryBlocks } =\n this.getMemoryConstants(firmwareVersion);\n\n const currentMemoryBlocksUsage = this.getCurrentMemoryBlocksUsage({\n firmwareUpdateContext,\n customImage,\n installedApps,\n installedLanguages,\n blockSize,\n });\n\n const installPlanBlocksUsage = this.getInstallPlanMemoryBlocksUsage(\n this.args.installPlan,\n blockSize,\n );\n\n return {\n outOfMemory:\n currentMemoryBlocksUsage + installPlanBlocksUsage >=\n totalMemoryBlocks - RESERVED_BLOCKS,\n };\n }\n\n private getMemoryConstants(firmwareVersion: FirmwareVersion): {\n blockSize: number;\n totalMemoryBlocks: number;\n } {\n const blockSize = this.deviceModel.getBlockSize({\n firmwareVersion: firmwareVersion.os,\n });\n const totalMemoryBlocks = Math.floor(\n this.deviceModel.memorySize / blockSize,\n );\n return { blockSize, totalMemoryBlocks };\n }\n\n private getCurrentMemoryBlocksUsage({\n firmwareUpdateContext,\n customImage,\n installedApps,\n installedLanguages,\n blockSize,\n }: {\n firmwareUpdateContext: FirmwareUpdateContext;\n customImage: CustomImage;\n installedApps: Application[];\n installedLanguages: InstalledLanguagePackage[];\n blockSize: number;\n }): number {\n const bytesToBlocks = (size: number) => Math.ceil(size / blockSize);\n const firmwareBlocks = bytesToBlocks(\n firmwareUpdateContext.currentFirmware.bytes || 0,\n );\n const customImageBlocks = bytesToBlocks(customImage.size || 0);\n const applicationsBlocks = installedApps.reduce(\n (size, app) => size + bytesToBlocks(app.bytes || 0),\n 0,\n );\n const languagesBlocks = installedLanguages.reduce(\n (size, lang) => size + bytesToBlocks(lang.size),\n 0,\n );\n return (\n firmwareBlocks + customImageBlocks + applicationsBlocks + languagesBlocks\n );\n }\n\n private getInstallPlanMemoryBlocksUsage(\n installPlan: Application[],\n blockSize: number,\n ): number {\n const bytesToBlocks = (size: number) => Math.ceil(size / blockSize);\n return installPlan.reduce(\n (size, app) => size + bytesToBlocks(app.bytes || 0),\n 0,\n );\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,4BAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAA+B,wCAE/BC,EAMO,kDAeP,MAAMC,EAAkB,EAEjB,MAAMJ,CAAuB,CAGlC,YACmBK,EACAC,EACjB,CAFiB,SAAAD,EACA,UAAAC,EAEjB,KAAK,YAAcD,EAAI,eAAe,CACxC,CAPiB,YASjB,KAAoC,CAClC,MAAME,EAAc,KAAK,IAAI,sBAAsB,EAEnD,GAAIA,EAAY,mBAAqB,yBAAuB,UAC1D,MAAO,CAAE,MAAO,IAAI,iBAAe,sBAAsB,CAAE,EAG7D,KAAM,CACJ,sBAAAC,EACA,YAAAC,EACA,gBAAAC,EACA,mBAAAC,EACA,cAAAC,CACF,EAAIL,EAEJ,GACEC,IAA0B,QAC1BC,IAAgB,QAChBC,IAAoB,QACpBC,IAAuB,OAEvB,MAAO,CAAE,MAAO,IAAI,iBAAe,6BAA6B,CAAE,EAGpE,KAAM,CAAE,UAAAE,EAAW,kBAAAC,CAAkB,EACnC,KAAK,mBAAmBJ,CAAe,EAEnCK,EAA2B,KAAK,4BAA4B,CAChE,sBAAAP,EACA,YAAAC,EACA,cAAAG,EACA,mBAAAD,EACA,UAAAE,CACF,CAAC,EAEKG,EAAyB,KAAK,gCAClC,KAAK,KAAK,YACVH,CACF,EAEA,MAAO,CACL,YACEE,EAA2BC,GAC3BF,EAAoBV,CACxB,CACF,CAEQ,mBAAmBM,EAGzB,CACA,MAAMG,EAAY,KAAK,YAAY,aAAa,CAC9C,gBAAiBH,EAAgB,EACnC,CAAC,EACKI,EAAoB,KAAK,MAC7B,KAAK,YAAY,WAAaD,CAChC,EACA,MAAO,CAAE,UAAAA,EAAW,kBAAAC,CAAkB,CACxC,CAEQ,4BAA4B,CAClC,sBAAAN,EACA,YAAAC,EACA,cAAAG,EACA,mBAAAD,EACA,UAAAE,CACF,EAMW,CACT,MAAMI,EAAiBC,GAAiB,KAAK,KAAKA,EAAOL,CAAS,EAC5DM,EAAiBF,EACrBT,EAAsB,gBAAgB,OAAS,CACjD,EACMY,EAAoBH,EAAcR,EAAY,MAAQ,CAAC,EACvDY,EAAqBT,EAAc,OACvC,CAACM,EAAMI,IAAQJ,EAAOD,EAAcK,EAAI,OAAS,CAAC,EAClD,CACF,EACMC,EAAkBZ,EAAmB,OACzC,CAACO,EAAMM,IAASN,EAAOD,EAAcO,EAAK,IAAI,EAC9C,CACF,EACA,OACEL,EAAiBC,EAAoBC,EAAqBE,CAE9D,CAEQ,gCACNE,EACAZ,EACQ,CACR,MAAMI,EAAiBC,GAAiB,KAAK,KAAKA,EAAOL,CAAS,EAClE,OAAOY,EAAY,OACjB,CAACP,EAAMI,IAAQJ,EAAOD,EAAcK,EAAI,OAAS,CAAC,EAClD,CACF,CACF,CACF",
6
+ "names": ["PredictOutOfMemoryTask_exports", "__export", "PredictOutOfMemoryTask", "__toCommonJS", "import_Errors", "import_DeviceSessionState", "RESERVED_BLOCKS", "api", "args", "deviceState", "firmwareUpdateContext", "customImage", "firmwareVersion", "installedLanguages", "installedApps", "blockSize", "totalMemoryBlocks", "currentMemoryBlocksUsage", "installPlanBlocksUsage", "bytesToBlocks", "size", "firmwareBlocks", "customImageBlocks", "applicationsBlocks", "app", "languagesBlocks", "lang", "installPlan"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var p=Object.create;var u=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var k=(e,t,n,l)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of d(t))!w.call(e,o)&&o!==n&&u(e,o,{get:()=>t[o],enumerable:!(l=S(t,o))||l.enumerable});return e};var v=(e,t,n)=>(n=e!=null?p(y(e)):{},k(t||!e||!e.__esModule?u(n,"default",{value:e,enumerable:!0}):n,e));var r=v(require("semver")),s=require("../../device/DeviceStatus"),m=require("../../device-action/__test-utils__/makeInternalApi"),c=require("../../device-action/os/Errors"),a=require("../../device-session/DeviceSessionState"),i=require("./PredictOutOfMemoryTask");describe("PredictOutOfMemoryTask",()=>{const e=(0,m.makeDeviceActionInternalApiMock)();beforeEach(()=>{vi.clearAllMocks(),e.getDeviceModel.mockReturnValue({memorySize:1569792,getBlockSize:()=>32})}),it("Success enough memory",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:s.DeviceStatus.CONNECTED,firmwareUpdateContext:{currentFirmware:{bytes:397824}},customImage:{size:51893},installedApps:[{bytes:305442},{bytes:514598},{bytes:271583}],installedLanguages:[{id:1,size:20480}],firmwareVersion:{os:"2.0.0"}});const t=new i.PredictOutOfMemoryTask(e,{installPlan:[{bytes:1324},{bytes:6559}]}).run();expect(t).toStrictEqual({outOfMemory:!1})}),it("Success not enough memory",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:s.DeviceStatus.CONNECTED,firmwareUpdateContext:{currentFirmware:{bytes:397824}},customImage:{size:51893},installedApps:[{bytes:305442},{bytes:514598},{bytes:271583}],installedLanguages:[{id:1,size:20480}],firmwareVersion:{os:"2.0.0"}});const t=new i.PredictOutOfMemoryTask(e,{installPlan:[{bytes:1324},{bytes:6559},{bytes:1}]}).run();expect(t).toStrictEqual({outOfMemory:!0})}),it("Success enough memory (recent Nano S, 2kB block size)",()=>{e.getDeviceModel.mockReturnValueOnce({memorySize:12*1024,getBlockSize:({firmwareVersion:n})=>r.default.lt(r.default.coerce(n)??"","2.0.0")?4*1024:2*1024}),e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:s.DeviceStatus.CONNECTED,firmwareUpdateContext:{currentFirmware:{bytes:6*1024}},customImage:{size:0},installedApps:[],installedLanguages:[],firmwareVersion:{os:"2.0.0"}});const t=new i.PredictOutOfMemoryTask(e,{installPlan:[{bytes:6*1024}]}).run();expect(t).toStrictEqual({outOfMemory:!1})}),it("Success not enough memory (old Nano S, 4kB block size)",()=>{e.getDeviceModel.mockReturnValueOnce({memorySize:12*1024,getBlockSize:({firmwareVersion:n})=>r.default.lt(r.default.coerce(n)??"","2.0.0")?4*1024:2*1024}),e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:s.DeviceStatus.CONNECTED,firmwareUpdateContext:{currentFirmware:{bytes:6*1024}},customImage:{size:0},installedApps:[],installedLanguages:[],firmwareVersion:{os:"1.0.0"}});const t=new i.PredictOutOfMemoryTask(e,{installPlan:[{bytes:6*1024}]}).run();expect(t).toStrictEqual({outOfMemory:!0})}),it("Success undefined sizes",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:s.DeviceStatus.CONNECTED,firmwareUpdateContext:{currentFirmware:{bytes:397824}},customImage:{},installedApps:[{bytes:305442},{bytes:null},{bytes:271583}],installedLanguages:[],firmwareVersion:{os:"2.0.0"}});const t=new i.PredictOutOfMemoryTask(e,{installPlan:[{bytes:1324},{bytes:6559}]}).run();expect(t).toStrictEqual({outOfMemory:!1})}),it("Error when device is in incorrect state",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:a.DeviceSessionStateType.Connected,deviceStatus:s.DeviceStatus.CONNECTED});const t=new i.PredictOutOfMemoryTask(e,{installPlan:[{bytes:1324}]}).run();expect(t).toStrictEqual({error:new c.UnknownDAError("Invalid device state")})}),it("Error when device session was not populated",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:s.DeviceStatus.CONNECTED,installedApps:[]});const t=new i.PredictOutOfMemoryTask(e,{installPlan:[{bytes:1324}]}).run();expect(t).toStrictEqual({error:new c.UnknownDAError("Device metadata not fetched")})})});
1
+ "use strict";var p=Object.create;var u=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var k=(e,t,n,l)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of d(t))!y.call(e,o)&&o!==n&&u(e,o,{get:()=>t[o],enumerable:!(l=S(t,o))||l.enumerable});return e};var v=(e,t,n)=>(n=e!=null?p(w(e)):{},k(t||!e||!e.__esModule?u(n,"default",{value:e,enumerable:!0}):n,e));var r=v(require("semver")),s=require("../../device/DeviceStatus"),m=require("../../device-action/__test-utils__/makeInternalApi"),c=require("../../device-action/os/Errors"),a=require("../../device-session/DeviceSessionState"),i=require("./PredictOutOfMemoryTask");describe("PredictOutOfMemoryTask",()=>{const e=(0,m.makeDeviceActionInternalApiMock)();beforeEach(()=>{vi.clearAllMocks(),e.getDeviceModel.mockReturnValue({memorySize:1569792,getBlockSize:()=>32})}),it("Success enough memory",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:s.DeviceStatus.CONNECTED,firmwareUpdateContext:{currentFirmware:{bytes:397824}},customImage:{size:51893},installedApps:[{bytes:305442},{bytes:514598},{bytes:271583}],installedLanguages:[{id:1,size:20480}],firmwareVersion:{os:"2.0.0"}});const t=new i.PredictOutOfMemoryTask(e,{installPlan:[{bytes:1324},{bytes:6496}]}).run();expect(t).toStrictEqual({outOfMemory:!1})}),it("Success not enough memory",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:s.DeviceStatus.CONNECTED,firmwareUpdateContext:{currentFirmware:{bytes:397824}},customImage:{size:51893},installedApps:[{bytes:305442},{bytes:514598},{bytes:271583}],installedLanguages:[{id:1,size:20480}],firmwareVersion:{os:"2.0.0"}});const t=new i.PredictOutOfMemoryTask(e,{installPlan:[{bytes:1324},{bytes:6497}]}).run();expect(t).toStrictEqual({outOfMemory:!0})}),it("Success not enough memory with no remaining block (recent Nano S, 2kB block size)",()=>{e.getDeviceModel.mockReturnValueOnce({memorySize:12*1024,getBlockSize:({firmwareVersion:n})=>r.default.lt(r.default.coerce(n)??"","2.0.0")?4*1024:2*1024}),e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:s.DeviceStatus.CONNECTED,firmwareUpdateContext:{currentFirmware:{bytes:6*1024}},customImage:{size:0},installedApps:[],installedLanguages:[],firmwareVersion:{os:"2.0.0"}});const t=new i.PredictOutOfMemoryTask(e,{installPlan:[{bytes:6*1024}]}).run();expect(t).toStrictEqual({outOfMemory:!0})}),it("Success not enough memory (old Nano S, 4kB block size)",()=>{e.getDeviceModel.mockReturnValueOnce({memorySize:12*1024,getBlockSize:({firmwareVersion:n})=>r.default.lt(r.default.coerce(n)??"","2.0.0")?4*1024:2*1024}),e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:s.DeviceStatus.CONNECTED,firmwareUpdateContext:{currentFirmware:{bytes:6*1024}},customImage:{size:0},installedApps:[],installedLanguages:[],firmwareVersion:{os:"1.0.0"}});const t=new i.PredictOutOfMemoryTask(e,{installPlan:[{bytes:6*1024}]}).run();expect(t).toStrictEqual({outOfMemory:!0})}),it("Success undefined sizes",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:s.DeviceStatus.CONNECTED,firmwareUpdateContext:{currentFirmware:{bytes:397824}},customImage:{},installedApps:[{bytes:305442},{bytes:null},{bytes:271583}],installedLanguages:[],firmwareVersion:{os:"2.0.0"}});const t=new i.PredictOutOfMemoryTask(e,{installPlan:[{bytes:1324},{bytes:6559}]}).run();expect(t).toStrictEqual({outOfMemory:!1})}),it("Error when device is in incorrect state",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:a.DeviceSessionStateType.Connected,deviceStatus:s.DeviceStatus.CONNECTED});const t=new i.PredictOutOfMemoryTask(e,{installPlan:[{bytes:1324}]}).run();expect(t).toStrictEqual({error:new c.UnknownDAError("Invalid device state")})}),it("Error when device session was not populated",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:s.DeviceStatus.CONNECTED,installedApps:[]});const t=new i.PredictOutOfMemoryTask(e,{installPlan:[{bytes:1324}]}).run();expect(t).toStrictEqual({error:new c.UnknownDAError("Device metadata not fetched")})})});
2
2
  //# sourceMappingURL=PredictOutOfMemoryTask.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/device-action/task/PredictOutOfMemoryTask.test.ts"],
4
- "sourcesContent": ["import semver from \"semver\";\n\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { UnknownDAError } from \"@api/device-action/os/Errors\";\nimport type { TransportDeviceModel } from \"@api/device-model/model/DeviceModel\";\nimport type { DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { DeviceSessionStateType } from \"@api/device-session/DeviceSessionState\";\nimport type { Application } from \"@internal/manager-api/model/Application\";\nimport type { FinalFirmware } from \"@internal/manager-api/model/Firmware\";\n\nimport { PredictOutOfMemoryTask } from \"./PredictOutOfMemoryTask\";\n\ndescribe(\"PredictOutOfMemoryTask\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n\n beforeEach(() => {\n vi.clearAllMocks();\n apiMock.getDeviceModel.mockReturnValue({\n memorySize: 1569792,\n getBlockSize: () => 32,\n } as unknown as TransportDeviceModel);\n });\n\n it(\"Success enough memory\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareUpdateContext: {\n currentFirmware: { bytes: 397824 } as FinalFirmware,\n },\n customImage: { size: 51893 },\n installedApps: [\n { bytes: 305442 },\n { bytes: 514598 },\n { bytes: 271583 },\n ] as unknown as Application[],\n installedLanguages: [{ id: 1, size: 20480 }],\n firmwareVersion: { os: \"2.0.0\" },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [\n { bytes: 1324 },\n { bytes: 6559 },\n ] as unknown as Application[],\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n outOfMemory: false,\n });\n });\n\n it(\"Success not enough memory\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareUpdateContext: {\n currentFirmware: { bytes: 397824 } as FinalFirmware,\n },\n customImage: { size: 51893 },\n installedApps: [\n { bytes: 305442 },\n { bytes: 514598 },\n { bytes: 271583 },\n ] as unknown as Application[],\n installedLanguages: [{ id: 1, size: 20480 }],\n firmwareVersion: { os: \"2.0.0\" },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [\n { bytes: 1324 },\n { bytes: 6559 },\n { bytes: 1 },\n ] as unknown as Application[],\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n outOfMemory: true,\n });\n });\n\n it(\"Success enough memory (recent Nano S, 2kB block size)\", () => {\n // GIVEN\n apiMock.getDeviceModel.mockReturnValueOnce({\n memorySize: 12 * 1024,\n getBlockSize: ({ firmwareVersion }: { firmwareVersion: string }) => {\n return semver.lt(semver.coerce(firmwareVersion) ?? \"\", \"2.0.0\")\n ? 4 * 1024\n : 2 * 1024;\n },\n } as unknown as TransportDeviceModel);\n\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareUpdateContext: {\n currentFirmware: { bytes: 6 * 1024 } as FinalFirmware,\n },\n customImage: { size: 0 },\n installedApps: [],\n installedLanguages: [],\n firmwareVersion: { os: \"2.0.0\" },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [{ bytes: 6 * 1024 }] as unknown as Application[],\n }).run();\n\n // THEN\n // 6x2kB blocks of total memory (12kB total)\n // -3*2kB block for firmware (to fit 6kB)\n // -3*2kB block for install plan (to fit 6kB)\n // = 0 blocks left, enough memory\n expect(result).toStrictEqual({\n outOfMemory: false,\n });\n });\n\n it(\"Success not enough memory (old Nano S, 4kB block size)\", () => {\n // GIVEN\n apiMock.getDeviceModel.mockReturnValueOnce({\n memorySize: 12 * 1024,\n getBlockSize: ({ firmwareVersion }: { firmwareVersion: string }) => {\n return semver.lt(semver.coerce(firmwareVersion) ?? \"\", \"2.0.0\")\n ? 4 * 1024\n : 2 * 1024;\n },\n } as unknown as TransportDeviceModel);\n\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareUpdateContext: {\n currentFirmware: { bytes: 6 * 1024 } as FinalFirmware,\n },\n customImage: { size: 0 },\n installedApps: [],\n installedLanguages: [],\n firmwareVersion: { os: \"1.0.0\" },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [{ bytes: 6 * 1024 }] as unknown as Application[],\n }).run();\n\n // THEN\n // 3x4kB blocks of total memory (12kB total)\n // -2x4kB block for firmware (to fit 6kB)\n // -2x4kB blocks for install plan (to fit 6kB)\n // = -1 block left, not enough memory\n expect(result).toStrictEqual({\n outOfMemory: true,\n });\n });\n\n it(\"Success undefined sizes\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareUpdateContext: {\n currentFirmware: { bytes: 397824 } as FinalFirmware,\n },\n customImage: {},\n installedApps: [\n { bytes: 305442 },\n { bytes: null },\n { bytes: 271583 },\n ] as unknown as Application[],\n installedLanguages: [],\n firmwareVersion: { os: \"2.0.0\" },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [\n { bytes: 1324 },\n { bytes: 6559 },\n ] as unknown as Application[],\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n outOfMemory: false,\n });\n });\n\n it(\"Error when device is in incorrect state\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.Connected,\n deviceStatus: DeviceStatus.CONNECTED,\n } as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [{ bytes: 1324 }] as unknown as Application[],\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n error: new UnknownDAError(\"Invalid device state\"),\n });\n });\n\n it(\"Error when device session was not populated\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [{ bytes: 1324 }] as unknown as Application[],\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n error: new UnknownDAError(\"Device metadata not fetched\"),\n });\n });\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import semver from \"semver\";\n\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { UnknownDAError } from \"@api/device-action/os/Errors\";\nimport type { TransportDeviceModel } from \"@api/device-model/model/DeviceModel\";\nimport type { DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { DeviceSessionStateType } from \"@api/device-session/DeviceSessionState\";\nimport type { Application } from \"@internal/manager-api/model/Application\";\nimport type { FinalFirmware } from \"@internal/manager-api/model/Firmware\";\n\nimport { PredictOutOfMemoryTask } from \"./PredictOutOfMemoryTask\";\n\ndescribe(\"PredictOutOfMemoryTask\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n\n beforeEach(() => {\n vi.clearAllMocks();\n apiMock.getDeviceModel.mockReturnValue({\n memorySize: 1569792,\n getBlockSize: () => 32,\n } as unknown as TransportDeviceModel);\n });\n\n it(\"Success enough memory\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareUpdateContext: {\n currentFirmware: { bytes: 397824 } as FinalFirmware,\n },\n customImage: { size: 51893 },\n installedApps: [\n { bytes: 305442 },\n { bytes: 514598 },\n { bytes: 271583 },\n ] as unknown as Application[],\n installedLanguages: [{ id: 1, size: 20480 }],\n firmwareVersion: { os: \"2.0.0\" },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [\n { bytes: 1324 },\n { bytes: 6496 },\n ] as unknown as Application[],\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n outOfMemory: false,\n });\n });\n\n it(\"Success not enough memory\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareUpdateContext: {\n currentFirmware: { bytes: 397824 } as FinalFirmware,\n },\n customImage: { size: 51893 },\n installedApps: [\n { bytes: 305442 },\n { bytes: 514598 },\n { bytes: 271583 },\n ] as unknown as Application[],\n installedLanguages: [{ id: 1, size: 20480 }],\n firmwareVersion: { os: \"2.0.0\" },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [\n { bytes: 1324 },\n { bytes: 6497 },\n ] as unknown as Application[],\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n outOfMemory: true,\n });\n });\n\n it(\"Success not enough memory with no remaining block (recent Nano S, 2kB block size)\", () => {\n // GIVEN\n apiMock.getDeviceModel.mockReturnValueOnce({\n memorySize: 12 * 1024,\n getBlockSize: ({ firmwareVersion }: { firmwareVersion: string }) => {\n return semver.lt(semver.coerce(firmwareVersion) ?? \"\", \"2.0.0\")\n ? 4 * 1024\n : 2 * 1024;\n },\n } as unknown as TransportDeviceModel);\n\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareUpdateContext: {\n currentFirmware: { bytes: 6 * 1024 } as FinalFirmware,\n },\n customImage: { size: 0 },\n installedApps: [],\n installedLanguages: [],\n firmwareVersion: { os: \"2.0.0\" },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [{ bytes: 6 * 1024 }] as unknown as Application[],\n }).run();\n\n // THEN\n // 6x2kB blocks of total memory (12kB total)\n // -3*2kB block for firmware (to fit 6kB)\n // -3*2kB block for install plan (to fit 6kB)\n // = 0 blocks left, not enough memory\n expect(result).toStrictEqual({\n outOfMemory: true,\n });\n });\n\n it(\"Success not enough memory (old Nano S, 4kB block size)\", () => {\n // GIVEN\n apiMock.getDeviceModel.mockReturnValueOnce({\n memorySize: 12 * 1024,\n getBlockSize: ({ firmwareVersion }: { firmwareVersion: string }) => {\n return semver.lt(semver.coerce(firmwareVersion) ?? \"\", \"2.0.0\")\n ? 4 * 1024\n : 2 * 1024;\n },\n } as unknown as TransportDeviceModel);\n\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareUpdateContext: {\n currentFirmware: { bytes: 6 * 1024 } as FinalFirmware,\n },\n customImage: { size: 0 },\n installedApps: [],\n installedLanguages: [],\n firmwareVersion: { os: \"1.0.0\" },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [{ bytes: 6 * 1024 }] as unknown as Application[],\n }).run();\n\n // THEN\n // 3x4kB blocks of total memory (12kB total)\n // -2x4kB block for firmware (to fit 6kB)\n // -2x4kB blocks for install plan (to fit 6kB)\n // = -1 block left, not enough memory\n expect(result).toStrictEqual({\n outOfMemory: true,\n });\n });\n\n it(\"Success undefined sizes\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareUpdateContext: {\n currentFirmware: { bytes: 397824 } as FinalFirmware,\n },\n customImage: {},\n installedApps: [\n { bytes: 305442 },\n { bytes: null },\n { bytes: 271583 },\n ] as unknown as Application[],\n installedLanguages: [],\n firmwareVersion: { os: \"2.0.0\" },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [\n { bytes: 1324 },\n { bytes: 6559 },\n ] as unknown as Application[],\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n outOfMemory: false,\n });\n });\n\n it(\"Error when device is in incorrect state\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.Connected,\n deviceStatus: DeviceStatus.CONNECTED,\n } as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [{ bytes: 1324 }] as unknown as Application[],\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n error: new UnknownDAError(\"Invalid device state\"),\n });\n });\n\n it(\"Error when device session was not populated\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [{ bytes: 1324 }] as unknown as Application[],\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n error: new UnknownDAError(\"Device metadata not fetched\"),\n });\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_semver", "import_DeviceStatus", "import_makeInternalApi", "import_Errors", "import_DeviceSessionState", "import_PredictOutOfMemoryTask", "apiMock", "result", "firmwareVersion", "semver"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var a=Object.create;var l=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,N=Object.prototype.hasOwnProperty;var w=(r,e,d)=>e in r?l(r,e,{enumerable:!0,configurable:!0,writable:!0,value:d}):r[e]=d;var x=(r,e)=>{for(var d in e)l(r,d,{get:e[d],enumerable:!0})},b=(r,e,d,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of I(e))!N.call(r,o)&&o!==d&&l(r,o,{get:()=>e[o],enumerable:!(t=U(e,o))||t.enumerable});return r};var P=(r,e,d)=>(d=r!=null?a(g(r)):{},b(e||!r||!r.__esModule?l(d,"default",{value:r,enumerable:!0}):d,r)),B=r=>b(l({},"__esModule",{value:!0}),r),v=(r,e,d,t)=>{for(var o=t>1?void 0:t?U(e,d):e,s=r.length-1,n;s>=0;s--)(n=r[s])&&(o=(t?n(e,d,o):n(o))||o);return t&&o&&l(e,d,o),o};var f=(r,e,d)=>w(r,typeof e!="symbol"?e+"":e,d);var O={};x(O,{StaticDeviceModelDataSource:()=>c});module.exports=B(O);var p=require("inversify"),m=P(require("semver")),i=require("../../device/DeviceModel"),y=require("../../device-model/model/BleDeviceInfos"),u=require("../../device-model/model/DeviceModel");let c=class{getAllDeviceModels(){return Object.values(c.deviceModelByIds)}getDeviceModel(e){return c.deviceModelByIds[e.id]}filterDeviceModels(e){return this.getAllDeviceModels().filter(d=>Object.entries(e).every(([t,o])=>d[t]===o))}getBluetoothServicesInfos(){return Object.values(c.deviceModelByIds).reduce((e,d)=>{const{bluetoothSpec:t}=d;return t?{...e,...t.reduce((o,s)=>({...o,[s.serviceUuid]:new y.BleDeviceInfos(d,s.serviceUuid,s.writeUuid,s.writeCmdUuid,s.notifyUuid)}),{})}:e},{})}getBluetoothServices(){return Object.values(c.deviceModelByIds).map(e=>(e.bluetoothSpec||[]).map(d=>d.serviceUuid)).flat().filter(e=>!!e)}};f(c,"deviceModelByIds",{[i.DeviceModelId.NANO_S]:new u.TransportDeviceModel({id:i.DeviceModelId.NANO_S,productName:"Ledger Nano S",usbProductId:16,bootloaderUsbProductId:1,usbOnly:!0,memorySize:320*1024,getBlockSize:e=>m.default.lt(m.default.coerce(e.firmwareVersion)??"","2.0.0")?4*1024:2*1024,masks:[823132160]}),[i.DeviceModelId.NANO_SP]:new u.TransportDeviceModel({id:i.DeviceModelId.NANO_SP,productName:"Ledger Nano S Plus",usbProductId:80,bootloaderUsbProductId:5,usbOnly:!0,memorySize:1533*1024,getBlockSize:()=>32,masks:[856686592]}),[i.DeviceModelId.NANO_X]:new u.TransportDeviceModel({id:i.DeviceModelId.NANO_X,productName:"Ledger Nano X",usbProductId:64,bootloaderUsbProductId:4,usbOnly:!1,memorySize:2*1024*1024,getBlockSize:()=>4*1024,masks:[855638016],bluetoothSpec:[{serviceUuid:"13d63400-2c97-0004-0000-4c6564676572",notifyUuid:"13d63400-2c97-0004-0001-4c6564676572",writeUuid:"13d63400-2c97-0004-0002-4c6564676572",writeCmdUuid:"13d63400-2c97-0004-0003-4c6564676572"}]}),[i.DeviceModelId.STAX]:new u.TransportDeviceModel({id:i.DeviceModelId.STAX,productName:"Ledger Stax",usbProductId:96,bootloaderUsbProductId:6,usbOnly:!1,memorySize:1533*1024,getBlockSize:()=>32,masks:[857735168],bluetoothSpec:[{serviceUuid:"13d63400-2c97-6004-0000-4c6564676572",notifyUuid:"13d63400-2c97-6004-0001-4c6564676572",writeUuid:"13d63400-2c97-6004-0002-4c6564676572",writeCmdUuid:"13d63400-2c97-6004-0003-4c6564676572"}]}),[i.DeviceModelId.FLEX]:new u.TransportDeviceModel({id:i.DeviceModelId.FLEX,productName:"Ledger Flex",usbProductId:112,bootloaderUsbProductId:7,usbOnly:!1,memorySize:1533*1024,getBlockSize:()=>32,masks:[858783744],bluetoothSpec:[{serviceUuid:"13d63400-2c97-3004-0000-4c6564676572",notifyUuid:"13d63400-2c97-3004-0001-4c6564676572",writeUuid:"13d63400-2c97-3004-0002-4c6564676572",writeCmdUuid:"13d63400-2c97-3004-0003-4c6564676572"}]}),[i.DeviceModelId.APEX]:new u.TransportDeviceModel({id:i.DeviceModelId.APEX,productName:"Ledger\xA0Nano\xA0Gen5",usbProductId:128,bootloaderUsbProductId:8,usbOnly:!1,memorySize:1533*1024,getBlockSize:()=>32,masks:[859832320],bluetoothSpec:[{serviceUuid:"13d63400-2c97-8004-0000-4c6564676572",notifyUuid:"13d63400-2c97-8004-0001-4c6564676572",writeUuid:"13d63400-2c97-8004-0002-4c6564676572",writeCmdUuid:"13d63400-2c97-8004-0003-4c6564676572"},{serviceUuid:"13d63400-2c97-9004-0000-4c6564676572",notifyUuid:"13d63400-2c97-9004-0001-4c6564676572",writeUuid:"13d63400-2c97-9004-0002-4c6564676572",writeCmdUuid:"13d63400-2c97-9004-0003-4c6564676572"}]})}),c=v([(0,p.injectable)()],c);0&&(module.exports={StaticDeviceModelDataSource});
1
+ "use strict";var a=Object.create;var l=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,N=Object.prototype.hasOwnProperty;var w=(r,e,d)=>e in r?l(r,e,{enumerable:!0,configurable:!0,writable:!0,value:d}):r[e]=d;var x=(r,e)=>{for(var d in e)l(r,d,{get:e[d],enumerable:!0})},b=(r,e,d,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of I(e))!N.call(r,o)&&o!==d&&l(r,o,{get:()=>e[o],enumerable:!(t=U(e,o))||t.enumerable});return r};var P=(r,e,d)=>(d=r!=null?a(g(r)):{},b(e||!r||!r.__esModule?l(d,"default",{value:r,enumerable:!0}):d,r)),B=r=>b(l({},"__esModule",{value:!0}),r),v=(r,e,d,t)=>{for(var o=t>1?void 0:t?U(e,d):e,s=r.length-1,n;s>=0;s--)(n=r[s])&&(o=(t?n(e,d,o):n(o))||o);return t&&o&&l(e,d,o),o};var f=(r,e,d)=>w(r,typeof e!="symbol"?e+"":e,d);var O={};x(O,{StaticDeviceModelDataSource:()=>c});module.exports=B(O);var p=require("inversify"),m=P(require("semver")),i=require("../../device/DeviceModel"),y=require("../../device-model/model/BleDeviceInfos"),u=require("../../device-model/model/DeviceModel");let c=class{getAllDeviceModels(){return Object.values(c.deviceModelByIds)}getDeviceModel(e){return c.deviceModelByIds[e.id]}filterDeviceModels(e){return this.getAllDeviceModels().filter(d=>Object.entries(e).every(([t,o])=>d[t]===o))}getBluetoothServicesInfos(){return Object.values(c.deviceModelByIds).reduce((e,d)=>{const{bluetoothSpec:t}=d;return t?{...e,...t.reduce((o,s)=>({...o,[s.serviceUuid]:new y.BleDeviceInfos(d,s.serviceUuid,s.writeUuid,s.writeCmdUuid,s.notifyUuid)}),{})}:e},{})}getBluetoothServices(){return Object.values(c.deviceModelByIds).map(e=>(e.bluetoothSpec||[]).map(d=>d.serviceUuid)).flat().filter(e=>!!e)}};f(c,"deviceModelByIds",{[i.DeviceModelId.NANO_S]:new u.TransportDeviceModel({id:i.DeviceModelId.NANO_S,productName:"Ledger Nano S",usbProductId:16,bootloaderUsbProductId:1,usbOnly:!0,memorySize:320*1024,getBlockSize:e=>m.default.lt(m.default.coerce(e.firmwareVersion)??"","2.0.0")?4*1024:2*1024,masks:[823132160]}),[i.DeviceModelId.NANO_SP]:new u.TransportDeviceModel({id:i.DeviceModelId.NANO_SP,productName:"Ledger Nano S Plus",usbProductId:80,bootloaderUsbProductId:5,usbOnly:!0,memorySize:1533*1024,getBlockSize:()=>512,masks:[856686592]}),[i.DeviceModelId.NANO_X]:new u.TransportDeviceModel({id:i.DeviceModelId.NANO_X,productName:"Ledger Nano X",usbProductId:64,bootloaderUsbProductId:4,usbOnly:!1,memorySize:2*1024*1024,getBlockSize:()=>4*1024,masks:[855638016],bluetoothSpec:[{serviceUuid:"13d63400-2c97-0004-0000-4c6564676572",notifyUuid:"13d63400-2c97-0004-0001-4c6564676572",writeUuid:"13d63400-2c97-0004-0002-4c6564676572",writeCmdUuid:"13d63400-2c97-0004-0003-4c6564676572"}]}),[i.DeviceModelId.STAX]:new u.TransportDeviceModel({id:i.DeviceModelId.STAX,productName:"Ledger Stax",usbProductId:96,bootloaderUsbProductId:6,usbOnly:!1,memorySize:1533*1024,getBlockSize:()=>512,masks:[857735168],bluetoothSpec:[{serviceUuid:"13d63400-2c97-6004-0000-4c6564676572",notifyUuid:"13d63400-2c97-6004-0001-4c6564676572",writeUuid:"13d63400-2c97-6004-0002-4c6564676572",writeCmdUuid:"13d63400-2c97-6004-0003-4c6564676572"}]}),[i.DeviceModelId.FLEX]:new u.TransportDeviceModel({id:i.DeviceModelId.FLEX,productName:"Ledger Flex",usbProductId:112,bootloaderUsbProductId:7,usbOnly:!1,memorySize:1533*1024,getBlockSize:()=>512,masks:[858783744],bluetoothSpec:[{serviceUuid:"13d63400-2c97-3004-0000-4c6564676572",notifyUuid:"13d63400-2c97-3004-0001-4c6564676572",writeUuid:"13d63400-2c97-3004-0002-4c6564676572",writeCmdUuid:"13d63400-2c97-3004-0003-4c6564676572"}]}),[i.DeviceModelId.APEX]:new u.TransportDeviceModel({id:i.DeviceModelId.APEX,productName:"Ledger\xA0Nano\xA0Gen5",usbProductId:128,bootloaderUsbProductId:8,usbOnly:!1,memorySize:1533*1024,getBlockSize:()=>512,masks:[859832320],bluetoothSpec:[{serviceUuid:"13d63400-2c97-8004-0000-4c6564676572",notifyUuid:"13d63400-2c97-8004-0001-4c6564676572",writeUuid:"13d63400-2c97-8004-0002-4c6564676572",writeCmdUuid:"13d63400-2c97-8004-0003-4c6564676572"},{serviceUuid:"13d63400-2c97-9004-0000-4c6564676572",notifyUuid:"13d63400-2c97-9004-0001-4c6564676572",writeUuid:"13d63400-2c97-9004-0002-4c6564676572",writeCmdUuid:"13d63400-2c97-9004-0003-4c6564676572"}]})}),c=v([(0,p.injectable)()],c);0&&(module.exports={StaticDeviceModelDataSource});
2
2
  //# sourceMappingURL=StaticDeviceModelDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/device-model/data/StaticDeviceModelDataSource.ts"],
4
- "sourcesContent": ["import { injectable } from \"inversify\";\nimport semver from \"semver\";\n\nimport { DeviceModelId } from \"@api/device/DeviceModel\";\nimport { DeviceModelDataSource } from \"@api/device-model/data/DeviceModelDataSource\";\nimport { BleDeviceInfos } from \"@api/device-model/model/BleDeviceInfos\";\nimport { TransportDeviceModel } from \"@api/device-model/model/DeviceModel\";\n\n/**\n * Static/in memory implementation of the device model data source\n */\n@injectable()\nexport class StaticDeviceModelDataSource implements DeviceModelDataSource {\n private static deviceModelByIds: {\n [_key in DeviceModelId]: TransportDeviceModel;\n } = {\n [DeviceModelId.NANO_S]: new TransportDeviceModel({\n id: DeviceModelId.NANO_S,\n productName: \"Ledger Nano S\",\n usbProductId: 0x10,\n bootloaderUsbProductId: 0x0001,\n usbOnly: true,\n memorySize: 320 * 1024,\n getBlockSize: (p: { firmwareVersion: string }) =>\n semver.lt(semver.coerce(p.firmwareVersion) ?? \"\", \"2.0.0\")\n ? 4 * 1024\n : 2 * 1024,\n masks: [0x31100000],\n }),\n [DeviceModelId.NANO_SP]: new TransportDeviceModel({\n id: DeviceModelId.NANO_SP,\n productName: \"Ledger Nano S Plus\",\n usbProductId: 0x50,\n bootloaderUsbProductId: 0x0005,\n usbOnly: true,\n memorySize: 1533 * 1024,\n getBlockSize: () => 32,\n masks: [0x33100000],\n }),\n [DeviceModelId.NANO_X]: new TransportDeviceModel({\n id: DeviceModelId.NANO_X,\n productName: \"Ledger Nano X\",\n usbProductId: 0x40,\n bootloaderUsbProductId: 0x0004,\n usbOnly: false,\n memorySize: 2 * 1024 * 1024,\n getBlockSize: () => 4 * 1024,\n masks: [0x33000000],\n bluetoothSpec: [\n {\n serviceUuid: \"13d63400-2c97-0004-0000-4c6564676572\",\n notifyUuid: \"13d63400-2c97-0004-0001-4c6564676572\",\n writeUuid: \"13d63400-2c97-0004-0002-4c6564676572\",\n writeCmdUuid: \"13d63400-2c97-0004-0003-4c6564676572\",\n },\n ],\n }),\n [DeviceModelId.STAX]: new TransportDeviceModel({\n id: DeviceModelId.STAX,\n productName: \"Ledger Stax\",\n usbProductId: 0x60,\n bootloaderUsbProductId: 0x0006,\n usbOnly: false,\n memorySize: 1533 * 1024,\n getBlockSize: () => 32,\n masks: [0x33200000],\n bluetoothSpec: [\n {\n serviceUuid: \"13d63400-2c97-6004-0000-4c6564676572\",\n notifyUuid: \"13d63400-2c97-6004-0001-4c6564676572\",\n writeUuid: \"13d63400-2c97-6004-0002-4c6564676572\",\n writeCmdUuid: \"13d63400-2c97-6004-0003-4c6564676572\",\n },\n ],\n }),\n [DeviceModelId.FLEX]: new TransportDeviceModel({\n id: DeviceModelId.FLEX,\n productName: \"Ledger Flex\",\n usbProductId: 0x70,\n bootloaderUsbProductId: 0x0007,\n usbOnly: false,\n memorySize: 1533 * 1024,\n getBlockSize: () => 32,\n masks: [0x33300000],\n bluetoothSpec: [\n {\n serviceUuid: \"13d63400-2c97-3004-0000-4c6564676572\",\n notifyUuid: \"13d63400-2c97-3004-0001-4c6564676572\",\n writeUuid: \"13d63400-2c97-3004-0002-4c6564676572\",\n writeCmdUuid: \"13d63400-2c97-3004-0003-4c6564676572\",\n },\n ],\n }),\n [DeviceModelId.APEX]: new TransportDeviceModel({\n id: DeviceModelId.APEX,\n productName: \"Ledger\u00A0Nano\u00A0Gen5\",\n usbProductId: 0x80,\n bootloaderUsbProductId: 0x0008,\n usbOnly: false,\n memorySize: 1533 * 1024,\n getBlockSize: () => 32,\n masks: [0x33400000],\n bluetoothSpec: [\n {\n serviceUuid: \"13d63400-2c97-8004-0000-4c6564676572\",\n notifyUuid: \"13d63400-2c97-8004-0001-4c6564676572\",\n writeUuid: \"13d63400-2c97-8004-0002-4c6564676572\",\n writeCmdUuid: \"13d63400-2c97-8004-0003-4c6564676572\",\n },\n {\n serviceUuid: \"13d63400-2c97-9004-0000-4c6564676572\",\n notifyUuid: \"13d63400-2c97-9004-0001-4c6564676572\",\n writeUuid: \"13d63400-2c97-9004-0002-4c6564676572\",\n writeCmdUuid: \"13d63400-2c97-9004-0003-4c6564676572\",\n },\n ],\n }),\n };\n\n getAllDeviceModels(): TransportDeviceModel[] {\n return Object.values(StaticDeviceModelDataSource.deviceModelByIds);\n }\n\n getDeviceModel(params: { id: DeviceModelId }): TransportDeviceModel {\n return StaticDeviceModelDataSource.deviceModelByIds[params.id];\n }\n\n /**\n * Returns the list of device models that match all the given parameters\n */\n filterDeviceModels(\n params: Partial<TransportDeviceModel>,\n ): TransportDeviceModel[] {\n return this.getAllDeviceModels().filter((deviceModel) => {\n return Object.entries(params).every(([key, value]) => {\n return deviceModel[key as keyof TransportDeviceModel] === value;\n });\n });\n }\n\n /**\n * @returns A record of service UUIDs to BleDeviceInfos\n */\n getBluetoothServicesInfos(): Record<string, BleDeviceInfos> {\n return Object.values(StaticDeviceModelDataSource.deviceModelByIds).reduce<\n Record<string, BleDeviceInfos>\n >((acc, deviceModel) => {\n const { bluetoothSpec } = deviceModel;\n if (bluetoothSpec) {\n return {\n ...acc,\n ...bluetoothSpec.reduce<Record<string, BleDeviceInfos>>(\n (serviceToModel, bleSpec) => ({\n ...serviceToModel,\n [bleSpec.serviceUuid]: new BleDeviceInfos(\n deviceModel,\n bleSpec.serviceUuid,\n bleSpec.writeUuid,\n bleSpec.writeCmdUuid,\n bleSpec.notifyUuid,\n ),\n }),\n {},\n ),\n };\n }\n return acc;\n }, {});\n }\n\n getBluetoothServices(): string[] {\n return Object.values(StaticDeviceModelDataSource.deviceModelByIds)\n .map((deviceModel) =>\n (deviceModel.bluetoothSpec || []).map((spec) => spec.serviceUuid),\n )\n .flat()\n .filter((uuid) => !!uuid);\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { injectable } from \"inversify\";\nimport semver from \"semver\";\n\nimport { DeviceModelId } from \"@api/device/DeviceModel\";\nimport { DeviceModelDataSource } from \"@api/device-model/data/DeviceModelDataSource\";\nimport { BleDeviceInfos } from \"@api/device-model/model/BleDeviceInfos\";\nimport { TransportDeviceModel } from \"@api/device-model/model/DeviceModel\";\n\n/**\n * Static/in memory implementation of the device model data source\n */\n@injectable()\nexport class StaticDeviceModelDataSource implements DeviceModelDataSource {\n private static deviceModelByIds: {\n [_key in DeviceModelId]: TransportDeviceModel;\n } = {\n [DeviceModelId.NANO_S]: new TransportDeviceModel({\n id: DeviceModelId.NANO_S,\n productName: \"Ledger Nano S\",\n usbProductId: 0x10,\n bootloaderUsbProductId: 0x0001,\n usbOnly: true,\n memorySize: 320 * 1024,\n getBlockSize: (p: { firmwareVersion: string }) =>\n semver.lt(semver.coerce(p.firmwareVersion) ?? \"\", \"2.0.0\")\n ? 4 * 1024\n : 2 * 1024,\n masks: [0x31100000],\n }),\n [DeviceModelId.NANO_SP]: new TransportDeviceModel({\n id: DeviceModelId.NANO_SP,\n productName: \"Ledger Nano S Plus\",\n usbProductId: 0x50,\n bootloaderUsbProductId: 0x0005,\n usbOnly: true,\n memorySize: 1533 * 1024,\n getBlockSize: () => 512,\n masks: [0x33100000],\n }),\n [DeviceModelId.NANO_X]: new TransportDeviceModel({\n id: DeviceModelId.NANO_X,\n productName: \"Ledger Nano X\",\n usbProductId: 0x40,\n bootloaderUsbProductId: 0x0004,\n usbOnly: false,\n memorySize: 2 * 1024 * 1024,\n getBlockSize: () => 4 * 1024,\n masks: [0x33000000],\n bluetoothSpec: [\n {\n serviceUuid: \"13d63400-2c97-0004-0000-4c6564676572\",\n notifyUuid: \"13d63400-2c97-0004-0001-4c6564676572\",\n writeUuid: \"13d63400-2c97-0004-0002-4c6564676572\",\n writeCmdUuid: \"13d63400-2c97-0004-0003-4c6564676572\",\n },\n ],\n }),\n [DeviceModelId.STAX]: new TransportDeviceModel({\n id: DeviceModelId.STAX,\n productName: \"Ledger Stax\",\n usbProductId: 0x60,\n bootloaderUsbProductId: 0x0006,\n usbOnly: false,\n memorySize: 1533 * 1024,\n getBlockSize: () => 512,\n masks: [0x33200000],\n bluetoothSpec: [\n {\n serviceUuid: \"13d63400-2c97-6004-0000-4c6564676572\",\n notifyUuid: \"13d63400-2c97-6004-0001-4c6564676572\",\n writeUuid: \"13d63400-2c97-6004-0002-4c6564676572\",\n writeCmdUuid: \"13d63400-2c97-6004-0003-4c6564676572\",\n },\n ],\n }),\n [DeviceModelId.FLEX]: new TransportDeviceModel({\n id: DeviceModelId.FLEX,\n productName: \"Ledger Flex\",\n usbProductId: 0x70,\n bootloaderUsbProductId: 0x0007,\n usbOnly: false,\n memorySize: 1533 * 1024,\n getBlockSize: () => 512,\n masks: [0x33300000],\n bluetoothSpec: [\n {\n serviceUuid: \"13d63400-2c97-3004-0000-4c6564676572\",\n notifyUuid: \"13d63400-2c97-3004-0001-4c6564676572\",\n writeUuid: \"13d63400-2c97-3004-0002-4c6564676572\",\n writeCmdUuid: \"13d63400-2c97-3004-0003-4c6564676572\",\n },\n ],\n }),\n [DeviceModelId.APEX]: new TransportDeviceModel({\n id: DeviceModelId.APEX,\n productName: \"Ledger\u00A0Nano\u00A0Gen5\",\n usbProductId: 0x80,\n bootloaderUsbProductId: 0x0008,\n usbOnly: false,\n memorySize: 1533 * 1024,\n getBlockSize: () => 512,\n masks: [0x33400000],\n bluetoothSpec: [\n {\n serviceUuid: \"13d63400-2c97-8004-0000-4c6564676572\",\n notifyUuid: \"13d63400-2c97-8004-0001-4c6564676572\",\n writeUuid: \"13d63400-2c97-8004-0002-4c6564676572\",\n writeCmdUuid: \"13d63400-2c97-8004-0003-4c6564676572\",\n },\n {\n serviceUuid: \"13d63400-2c97-9004-0000-4c6564676572\",\n notifyUuid: \"13d63400-2c97-9004-0001-4c6564676572\",\n writeUuid: \"13d63400-2c97-9004-0002-4c6564676572\",\n writeCmdUuid: \"13d63400-2c97-9004-0003-4c6564676572\",\n },\n ],\n }),\n };\n\n getAllDeviceModels(): TransportDeviceModel[] {\n return Object.values(StaticDeviceModelDataSource.deviceModelByIds);\n }\n\n getDeviceModel(params: { id: DeviceModelId }): TransportDeviceModel {\n return StaticDeviceModelDataSource.deviceModelByIds[params.id];\n }\n\n /**\n * Returns the list of device models that match all the given parameters\n */\n filterDeviceModels(\n params: Partial<TransportDeviceModel>,\n ): TransportDeviceModel[] {\n return this.getAllDeviceModels().filter((deviceModel) => {\n return Object.entries(params).every(([key, value]) => {\n return deviceModel[key as keyof TransportDeviceModel] === value;\n });\n });\n }\n\n /**\n * @returns A record of service UUIDs to BleDeviceInfos\n */\n getBluetoothServicesInfos(): Record<string, BleDeviceInfos> {\n return Object.values(StaticDeviceModelDataSource.deviceModelByIds).reduce<\n Record<string, BleDeviceInfos>\n >((acc, deviceModel) => {\n const { bluetoothSpec } = deviceModel;\n if (bluetoothSpec) {\n return {\n ...acc,\n ...bluetoothSpec.reduce<Record<string, BleDeviceInfos>>(\n (serviceToModel, bleSpec) => ({\n ...serviceToModel,\n [bleSpec.serviceUuid]: new BleDeviceInfos(\n deviceModel,\n bleSpec.serviceUuid,\n bleSpec.writeUuid,\n bleSpec.writeCmdUuid,\n bleSpec.notifyUuid,\n ),\n }),\n {},\n ),\n };\n }\n return acc;\n }, {});\n }\n\n getBluetoothServices(): string[] {\n return Object.values(StaticDeviceModelDataSource.deviceModelByIds)\n .map((deviceModel) =>\n (deviceModel.bluetoothSpec || []).map((spec) => spec.serviceUuid),\n )\n .flat()\n .filter((uuid) => !!uuid);\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["StaticDeviceModelDataSource_exports", "__export", "StaticDeviceModelDataSource", "__toCommonJS", "import_inversify", "import_semver", "import_DeviceModel", "import_BleDeviceInfos", "StaticDeviceModelDataSource", "params", "deviceModel", "key", "value", "acc", "bluetoothSpec", "serviceToModel", "bleSpec", "spec", "uuid", "__publicField", "p", "semver", "__decorateClass"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("../../device/DeviceModel"),r=require("../../device-model/model/BleDeviceInfos"),d=require("./StaticDeviceModelDataSource");describe("StaticDeviceModelDataSource",()=>{describe("getAllDeviceModels",()=>{it("should return all device models",()=>{const c=new d.StaticDeviceModelDataSource().getAllDeviceModels();expect(c.length).toEqual(6),expect(c).toContainEqual(expect.objectContaining({id:e.DeviceModelId.APEX})),expect(c).toContainEqual(expect.objectContaining({id:e.DeviceModelId.NANO_S})),expect(c).toContainEqual(expect.objectContaining({id:e.DeviceModelId.NANO_SP})),expect(c).toContainEqual(expect.objectContaining({id:e.DeviceModelId.NANO_X})),expect(c).toContainEqual(expect.objectContaining({id:e.DeviceModelId.STAX})),expect(c).toContainEqual(expect.objectContaining({id:e.DeviceModelId.FLEX}))})}),describe("getDeviceModel",()=>{it("should return the associated device model",()=>{const t=new d.StaticDeviceModelDataSource,c=t.getDeviceModel({id:e.DeviceModelId.NANO_S});expect(c).toEqual(expect.objectContaining({id:e.DeviceModelId.NANO_S}));const o=t.getDeviceModel({id:e.DeviceModelId.NANO_SP});expect(o).toEqual(expect.objectContaining({id:e.DeviceModelId.NANO_SP}));const i=t.getDeviceModel({id:e.DeviceModelId.NANO_X});expect(i).toEqual(expect.objectContaining({id:e.DeviceModelId.NANO_X}));const n=t.getDeviceModel({id:e.DeviceModelId.STAX});expect(n).toEqual(expect.objectContaining({id:e.DeviceModelId.STAX}));const l=t.getDeviceModel({id:e.DeviceModelId.FLEX});expect(l).toEqual(expect.objectContaining({id:e.DeviceModelId.FLEX}))})}),describe("filterDeviceModels",()=>{it("should return the device models that match the given single parameter",()=>{const t=new d.StaticDeviceModelDataSource,c=t.filterDeviceModels({usbOnly:!0});expect(c.length).toEqual(2),expect(c).toContainEqual(expect.objectContaining({id:e.DeviceModelId.NANO_SP})),expect(c).toContainEqual(expect.objectContaining({id:e.DeviceModelId.NANO_S}));const o=t.filterDeviceModels({usbProductId:16});expect(o.length).toEqual(1),expect(o[0]).toEqual(expect.objectContaining({id:e.DeviceModelId.NANO_S}));const i=t.filterDeviceModels({usbProductId:64});expect(i.length).toEqual(1),expect(i[0]).toEqual(expect.objectContaining({id:e.DeviceModelId.NANO_X}));const n=t.filterDeviceModels({usbProductId:80});expect(n.length).toEqual(1),expect(n[0]).toEqual(expect.objectContaining({id:e.DeviceModelId.NANO_SP}));const l=t.filterDeviceModels({usbProductId:96});expect(l.length).toEqual(1),expect(l[0]).toEqual(expect.objectContaining({id:e.DeviceModelId.STAX}));const s=t.filterDeviceModels({usbProductId:0});expect(s.length).toEqual(0)}),it("should return the device models that match the given multiple parameters",()=>{const t=new d.StaticDeviceModelDataSource,c=t.filterDeviceModels({usbOnly:!1,usbProductId:64});expect(c.length).toEqual(1),expect(c[0]).toEqual(expect.objectContaining({id:e.DeviceModelId.NANO_X}));const o=t.filterDeviceModels({usbOnly:!0,usbProductId:80});expect(o.length).toEqual(1),expect(o[0]).toEqual(expect.objectContaining({id:e.DeviceModelId.NANO_SP}));const i=t.filterDeviceModels({usbOnly:!1,usbProductId:16});expect(i.length).toEqual(0)})}),describe("getBluetoothServicesInfos",()=>{it("should return the ble service infos record",()=>{const c=new d.StaticDeviceModelDataSource,o=c.getBluetoothServicesInfos();expect(o).toStrictEqual({"13d63400-2c97-0004-0000-4c6564676572":new r.BleDeviceInfos(c.getDeviceModel({id:e.DeviceModelId.NANO_X}),"13d63400-2c97-0004-0000-4c6564676572","13d63400-2c97-0004-0002-4c6564676572","13d63400-2c97-0004-0003-4c6564676572","13d63400-2c97-0004-0001-4c6564676572"),"13d63400-2c97-6004-0000-4c6564676572":new r.BleDeviceInfos(c.getDeviceModel({id:e.DeviceModelId.STAX}),"13d63400-2c97-6004-0000-4c6564676572","13d63400-2c97-6004-0002-4c6564676572","13d63400-2c97-6004-0003-4c6564676572","13d63400-2c97-6004-0001-4c6564676572"),"13d63400-2c97-3004-0000-4c6564676572":new r.BleDeviceInfos(c.getDeviceModel({id:e.DeviceModelId.FLEX}),"13d63400-2c97-3004-0000-4c6564676572","13d63400-2c97-3004-0002-4c6564676572","13d63400-2c97-3004-0003-4c6564676572","13d63400-2c97-3004-0001-4c6564676572"),"13d63400-2c97-8004-0000-4c6564676572":new r.BleDeviceInfos(c.getDeviceModel({id:e.DeviceModelId.APEX}),"13d63400-2c97-8004-0000-4c6564676572","13d63400-2c97-8004-0002-4c6564676572","13d63400-2c97-8004-0003-4c6564676572","13d63400-2c97-8004-0001-4c6564676572"),"13d63400-2c97-9004-0000-4c6564676572":new r.BleDeviceInfos(c.getDeviceModel({id:e.DeviceModelId.APEX}),"13d63400-2c97-9004-0000-4c6564676572","13d63400-2c97-9004-0002-4c6564676572","13d63400-2c97-9004-0003-4c6564676572","13d63400-2c97-9004-0001-4c6564676572")})});const t=[{serviceUuid:"13d63400-2c97-0004-0000-4c6564676572",deviceModel:e.DeviceModelId.NANO_X},{serviceUuid:"13d63400-2c97-6004-0000-4c6564676572",deviceModel:e.DeviceModelId.STAX},{serviceUuid:"13d63400-2c97-3004-0000-4c6564676572",deviceModel:e.DeviceModelId.FLEX},{serviceUuid:"13d63400-2c97-8004-0000-4c6564676572",deviceModel:e.DeviceModelId.APEX},{serviceUuid:"13d63400-2c97-9004-0000-4c6564676572",deviceModel:e.DeviceModelId.APEX}];it.each(t)("should properly map the service UUID $serviceUuid to the device model $deviceModel",({serviceUuid:c,deviceModel:o})=>{const n=new d.StaticDeviceModelDataSource().getBluetoothServicesInfos();expect(n[c]?.deviceModel.id).toEqual(o)})}),describe("getBluetoothServices",()=>{it("should return the bluetooth services",()=>{const c=new d.StaticDeviceModelDataSource().getBluetoothServices();expect(c).toStrictEqual(["13d63400-2c97-0004-0000-4c6564676572","13d63400-2c97-6004-0000-4c6564676572","13d63400-2c97-3004-0000-4c6564676572","13d63400-2c97-8004-0000-4c6564676572","13d63400-2c97-9004-0000-4c6564676572"])})}),describe("getBlockSize",()=>{const t={[e.DeviceModelId.NANO_S]:[{firmwareVersion:"1.0.0",expectedBlockSize:4096},{firmwareVersion:"1.0.0-rc1",expectedBlockSize:4096},{firmwareVersion:"2.0.0",expectedBlockSize:2048},{firmwareVersion:"2.0.0-rc1",expectedBlockSize:2048}],[e.DeviceModelId.NANO_SP]:[{firmwareVersion:"1.0.0",expectedBlockSize:32}],[e.DeviceModelId.NANO_X]:[{firmwareVersion:"1.0.0",expectedBlockSize:4096}],[e.DeviceModelId.STAX]:[{firmwareVersion:"1.0.0",expectedBlockSize:32}],[e.DeviceModelId.FLEX]:[{firmwareVersion:"1.0.0",expectedBlockSize:32}],[e.DeviceModelId.APEX]:[{firmwareVersion:"1.0.0",expectedBlockSize:32}]};describe.each(Object.entries(t))("Device Model: %s",(c,o)=>{it.each(o)("should return $expectedBlockSize for firmware version $firmwareVersion",({firmwareVersion:i,expectedBlockSize:n})=>{const l=new d.StaticDeviceModelDataSource().getDeviceModel({id:c});expect(l.getBlockSize({firmwareVersion:i})).toBe(n)})})})});
1
+ "use strict";var e=require("../../device/DeviceModel"),r=require("../../device-model/model/BleDeviceInfos"),d=require("./StaticDeviceModelDataSource");describe("StaticDeviceModelDataSource",()=>{describe("getAllDeviceModels",()=>{it("should return all device models",()=>{const c=new d.StaticDeviceModelDataSource().getAllDeviceModels();expect(c.length).toEqual(6),expect(c).toContainEqual(expect.objectContaining({id:e.DeviceModelId.APEX})),expect(c).toContainEqual(expect.objectContaining({id:e.DeviceModelId.NANO_S})),expect(c).toContainEqual(expect.objectContaining({id:e.DeviceModelId.NANO_SP})),expect(c).toContainEqual(expect.objectContaining({id:e.DeviceModelId.NANO_X})),expect(c).toContainEqual(expect.objectContaining({id:e.DeviceModelId.STAX})),expect(c).toContainEqual(expect.objectContaining({id:e.DeviceModelId.FLEX}))})}),describe("getDeviceModel",()=>{it("should return the associated device model",()=>{const t=new d.StaticDeviceModelDataSource,c=t.getDeviceModel({id:e.DeviceModelId.NANO_S});expect(c).toEqual(expect.objectContaining({id:e.DeviceModelId.NANO_S}));const o=t.getDeviceModel({id:e.DeviceModelId.NANO_SP});expect(o).toEqual(expect.objectContaining({id:e.DeviceModelId.NANO_SP}));const i=t.getDeviceModel({id:e.DeviceModelId.NANO_X});expect(i).toEqual(expect.objectContaining({id:e.DeviceModelId.NANO_X}));const n=t.getDeviceModel({id:e.DeviceModelId.STAX});expect(n).toEqual(expect.objectContaining({id:e.DeviceModelId.STAX}));const l=t.getDeviceModel({id:e.DeviceModelId.FLEX});expect(l).toEqual(expect.objectContaining({id:e.DeviceModelId.FLEX}))})}),describe("filterDeviceModels",()=>{it("should return the device models that match the given single parameter",()=>{const t=new d.StaticDeviceModelDataSource,c=t.filterDeviceModels({usbOnly:!0});expect(c.length).toEqual(2),expect(c).toContainEqual(expect.objectContaining({id:e.DeviceModelId.NANO_SP})),expect(c).toContainEqual(expect.objectContaining({id:e.DeviceModelId.NANO_S}));const o=t.filterDeviceModels({usbProductId:16});expect(o.length).toEqual(1),expect(o[0]).toEqual(expect.objectContaining({id:e.DeviceModelId.NANO_S}));const i=t.filterDeviceModels({usbProductId:64});expect(i.length).toEqual(1),expect(i[0]).toEqual(expect.objectContaining({id:e.DeviceModelId.NANO_X}));const n=t.filterDeviceModels({usbProductId:80});expect(n.length).toEqual(1),expect(n[0]).toEqual(expect.objectContaining({id:e.DeviceModelId.NANO_SP}));const l=t.filterDeviceModels({usbProductId:96});expect(l.length).toEqual(1),expect(l[0]).toEqual(expect.objectContaining({id:e.DeviceModelId.STAX}));const s=t.filterDeviceModels({usbProductId:0});expect(s.length).toEqual(0)}),it("should return the device models that match the given multiple parameters",()=>{const t=new d.StaticDeviceModelDataSource,c=t.filterDeviceModels({usbOnly:!1,usbProductId:64});expect(c.length).toEqual(1),expect(c[0]).toEqual(expect.objectContaining({id:e.DeviceModelId.NANO_X}));const o=t.filterDeviceModels({usbOnly:!0,usbProductId:80});expect(o.length).toEqual(1),expect(o[0]).toEqual(expect.objectContaining({id:e.DeviceModelId.NANO_SP}));const i=t.filterDeviceModels({usbOnly:!1,usbProductId:16});expect(i.length).toEqual(0)})}),describe("getBluetoothServicesInfos",()=>{it("should return the ble service infos record",()=>{const c=new d.StaticDeviceModelDataSource,o=c.getBluetoothServicesInfos();expect(o).toStrictEqual({"13d63400-2c97-0004-0000-4c6564676572":new r.BleDeviceInfos(c.getDeviceModel({id:e.DeviceModelId.NANO_X}),"13d63400-2c97-0004-0000-4c6564676572","13d63400-2c97-0004-0002-4c6564676572","13d63400-2c97-0004-0003-4c6564676572","13d63400-2c97-0004-0001-4c6564676572"),"13d63400-2c97-6004-0000-4c6564676572":new r.BleDeviceInfos(c.getDeviceModel({id:e.DeviceModelId.STAX}),"13d63400-2c97-6004-0000-4c6564676572","13d63400-2c97-6004-0002-4c6564676572","13d63400-2c97-6004-0003-4c6564676572","13d63400-2c97-6004-0001-4c6564676572"),"13d63400-2c97-3004-0000-4c6564676572":new r.BleDeviceInfos(c.getDeviceModel({id:e.DeviceModelId.FLEX}),"13d63400-2c97-3004-0000-4c6564676572","13d63400-2c97-3004-0002-4c6564676572","13d63400-2c97-3004-0003-4c6564676572","13d63400-2c97-3004-0001-4c6564676572"),"13d63400-2c97-8004-0000-4c6564676572":new r.BleDeviceInfos(c.getDeviceModel({id:e.DeviceModelId.APEX}),"13d63400-2c97-8004-0000-4c6564676572","13d63400-2c97-8004-0002-4c6564676572","13d63400-2c97-8004-0003-4c6564676572","13d63400-2c97-8004-0001-4c6564676572"),"13d63400-2c97-9004-0000-4c6564676572":new r.BleDeviceInfos(c.getDeviceModel({id:e.DeviceModelId.APEX}),"13d63400-2c97-9004-0000-4c6564676572","13d63400-2c97-9004-0002-4c6564676572","13d63400-2c97-9004-0003-4c6564676572","13d63400-2c97-9004-0001-4c6564676572")})});const t=[{serviceUuid:"13d63400-2c97-0004-0000-4c6564676572",deviceModel:e.DeviceModelId.NANO_X},{serviceUuid:"13d63400-2c97-6004-0000-4c6564676572",deviceModel:e.DeviceModelId.STAX},{serviceUuid:"13d63400-2c97-3004-0000-4c6564676572",deviceModel:e.DeviceModelId.FLEX},{serviceUuid:"13d63400-2c97-8004-0000-4c6564676572",deviceModel:e.DeviceModelId.APEX},{serviceUuid:"13d63400-2c97-9004-0000-4c6564676572",deviceModel:e.DeviceModelId.APEX}];it.each(t)("should properly map the service UUID $serviceUuid to the device model $deviceModel",({serviceUuid:c,deviceModel:o})=>{const n=new d.StaticDeviceModelDataSource().getBluetoothServicesInfos();expect(n[c]?.deviceModel.id).toEqual(o)})}),describe("getBluetoothServices",()=>{it("should return the bluetooth services",()=>{const c=new d.StaticDeviceModelDataSource().getBluetoothServices();expect(c).toStrictEqual(["13d63400-2c97-0004-0000-4c6564676572","13d63400-2c97-6004-0000-4c6564676572","13d63400-2c97-3004-0000-4c6564676572","13d63400-2c97-8004-0000-4c6564676572","13d63400-2c97-9004-0000-4c6564676572"])})}),describe("getBlockSize",()=>{const t={[e.DeviceModelId.NANO_S]:[{firmwareVersion:"1.0.0",expectedBlockSize:4096},{firmwareVersion:"1.0.0-rc1",expectedBlockSize:4096},{firmwareVersion:"2.0.0",expectedBlockSize:2048},{firmwareVersion:"2.0.0-rc1",expectedBlockSize:2048}],[e.DeviceModelId.NANO_SP]:[{firmwareVersion:"1.0.0",expectedBlockSize:512}],[e.DeviceModelId.NANO_X]:[{firmwareVersion:"1.0.0",expectedBlockSize:4096}],[e.DeviceModelId.STAX]:[{firmwareVersion:"1.0.0",expectedBlockSize:512}],[e.DeviceModelId.FLEX]:[{firmwareVersion:"1.0.0",expectedBlockSize:512}],[e.DeviceModelId.APEX]:[{firmwareVersion:"1.0.0",expectedBlockSize:512}]};describe.each(Object.entries(t))("Device Model: %s",(c,o)=>{it.each(o)("should return $expectedBlockSize for firmware version $firmwareVersion",({firmwareVersion:i,expectedBlockSize:n})=>{const l=new d.StaticDeviceModelDataSource().getDeviceModel({id:c});expect(l.getBlockSize({firmwareVersion:i})).toBe(n)})})})});
2
2
  //# sourceMappingURL=StaticDeviceModelDataSource.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/device-model/data/StaticDeviceModelDataSource.test.ts"],
4
- "sourcesContent": ["import { DeviceModelId } from \"@api/device/DeviceModel\";\nimport { BleDeviceInfos } from \"@api/device-model/model/BleDeviceInfos\";\n\nimport { StaticDeviceModelDataSource } from \"./StaticDeviceModelDataSource\";\n\ndescribe(\"StaticDeviceModelDataSource\", () => {\n describe(\"getAllDeviceModels\", () => {\n it(\"should return all device models\", () => {\n const dataSource = new StaticDeviceModelDataSource();\n const deviceModels = dataSource.getAllDeviceModels();\n\n expect(deviceModels.length).toEqual(6);\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.APEX }),\n );\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_S }),\n );\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_SP }),\n );\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_X }),\n );\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.STAX }),\n );\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.FLEX }),\n );\n });\n });\n\n describe(\"getDeviceModel\", () => {\n it(\"should return the associated device model\", () => {\n const dataSource = new StaticDeviceModelDataSource();\n\n const deviceModel1 = dataSource.getDeviceModel({\n id: DeviceModelId.NANO_S,\n });\n expect(deviceModel1).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_S }),\n );\n\n const deviceModel2 = dataSource.getDeviceModel({\n id: DeviceModelId.NANO_SP,\n });\n expect(deviceModel2).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_SP }),\n );\n\n const deviceModel3 = dataSource.getDeviceModel({\n id: DeviceModelId.NANO_X,\n });\n expect(deviceModel3).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_X }),\n );\n\n const deviceModel4 = dataSource.getDeviceModel({\n id: DeviceModelId.STAX,\n });\n expect(deviceModel4).toEqual(\n expect.objectContaining({ id: DeviceModelId.STAX }),\n );\n\n const deviceModel5 = dataSource.getDeviceModel({\n id: DeviceModelId.FLEX,\n });\n expect(deviceModel5).toEqual(\n expect.objectContaining({ id: DeviceModelId.FLEX }),\n );\n });\n });\n\n describe(\"filterDeviceModels\", () => {\n it(\"should return the device models that match the given single parameter\", () => {\n const dataSource = new StaticDeviceModelDataSource();\n\n const deviceModels1 = dataSource.filterDeviceModels({ usbOnly: true });\n expect(deviceModels1.length).toEqual(2);\n expect(deviceModels1).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_SP }),\n );\n expect(deviceModels1).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_S }),\n );\n\n const deviceModels2 = dataSource.filterDeviceModels({\n usbProductId: 0x10,\n });\n expect(deviceModels2.length).toEqual(1);\n expect(deviceModels2[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_S }),\n );\n\n const deviceModels3 = dataSource.filterDeviceModels({\n usbProductId: 0x40,\n });\n expect(deviceModels3.length).toEqual(1);\n expect(deviceModels3[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_X }),\n );\n\n const deviceModels4 = dataSource.filterDeviceModels({\n usbProductId: 0x50,\n });\n expect(deviceModels4.length).toEqual(1);\n expect(deviceModels4[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_SP }),\n );\n\n const deviceModels5 = dataSource.filterDeviceModels({\n usbProductId: 0x60,\n });\n expect(deviceModels5.length).toEqual(1);\n expect(deviceModels5[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.STAX }),\n );\n\n const deviceModels6 = dataSource.filterDeviceModels({\n usbProductId: 0x00,\n });\n expect(deviceModels6.length).toEqual(0);\n });\n\n it(\"should return the device models that match the given multiple parameters\", () => {\n const dataSource = new StaticDeviceModelDataSource();\n\n const deviceModels1 = dataSource.filterDeviceModels({\n usbOnly: false,\n usbProductId: 0x40,\n });\n expect(deviceModels1.length).toEqual(1);\n expect(deviceModels1[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_X }),\n );\n\n const deviceModels2 = dataSource.filterDeviceModels({\n usbOnly: true,\n usbProductId: 0x50,\n });\n expect(deviceModels2.length).toEqual(1);\n expect(deviceModels2[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_SP }),\n );\n\n // Nano S is usbOnly\n const deviceModels3 = dataSource.filterDeviceModels({\n usbOnly: false,\n usbProductId: 0x10,\n });\n expect(deviceModels3.length).toEqual(0);\n });\n });\n describe(\"getBluetoothServicesInfos\", () => {\n it(\"should return the ble service infos record\", () => {\n // given\n const dataSource = new StaticDeviceModelDataSource();\n // when\n const bleServiceInfos = dataSource.getBluetoothServicesInfos();\n // then\n expect(bleServiceInfos).toStrictEqual({\n \"13d63400-2c97-0004-0000-4c6564676572\": new BleDeviceInfos(\n dataSource.getDeviceModel({ id: DeviceModelId.NANO_X }),\n \"13d63400-2c97-0004-0000-4c6564676572\",\n \"13d63400-2c97-0004-0002-4c6564676572\",\n \"13d63400-2c97-0004-0003-4c6564676572\",\n \"13d63400-2c97-0004-0001-4c6564676572\",\n ),\n \"13d63400-2c97-6004-0000-4c6564676572\": new BleDeviceInfos(\n dataSource.getDeviceModel({ id: DeviceModelId.STAX }),\n \"13d63400-2c97-6004-0000-4c6564676572\",\n \"13d63400-2c97-6004-0002-4c6564676572\",\n \"13d63400-2c97-6004-0003-4c6564676572\",\n \"13d63400-2c97-6004-0001-4c6564676572\",\n ),\n \"13d63400-2c97-3004-0000-4c6564676572\": new BleDeviceInfos(\n dataSource.getDeviceModel({ id: DeviceModelId.FLEX }),\n \"13d63400-2c97-3004-0000-4c6564676572\",\n \"13d63400-2c97-3004-0002-4c6564676572\",\n \"13d63400-2c97-3004-0003-4c6564676572\",\n \"13d63400-2c97-3004-0001-4c6564676572\",\n ),\n \"13d63400-2c97-8004-0000-4c6564676572\": new BleDeviceInfos(\n dataSource.getDeviceModel({ id: DeviceModelId.APEX }),\n \"13d63400-2c97-8004-0000-4c6564676572\",\n \"13d63400-2c97-8004-0002-4c6564676572\",\n \"13d63400-2c97-8004-0003-4c6564676572\",\n \"13d63400-2c97-8004-0001-4c6564676572\",\n ),\n \"13d63400-2c97-9004-0000-4c6564676572\": new BleDeviceInfos(\n dataSource.getDeviceModel({ id: DeviceModelId.APEX }),\n \"13d63400-2c97-9004-0000-4c6564676572\",\n \"13d63400-2c97-9004-0002-4c6564676572\",\n \"13d63400-2c97-9004-0003-4c6564676572\",\n \"13d63400-2c97-9004-0001-4c6564676572\",\n ),\n });\n });\n const expectedMatches = [\n {\n serviceUuid: \"13d63400-2c97-0004-0000-4c6564676572\",\n deviceModel: DeviceModelId.NANO_X,\n },\n {\n serviceUuid: \"13d63400-2c97-6004-0000-4c6564676572\",\n deviceModel: DeviceModelId.STAX,\n },\n {\n serviceUuid: \"13d63400-2c97-3004-0000-4c6564676572\",\n deviceModel: DeviceModelId.FLEX,\n },\n {\n serviceUuid: \"13d63400-2c97-8004-0000-4c6564676572\",\n deviceModel: DeviceModelId.APEX,\n },\n {\n serviceUuid: \"13d63400-2c97-9004-0000-4c6564676572\",\n deviceModel: DeviceModelId.APEX,\n },\n ];\n\n it.each(expectedMatches)(\n \"should properly map the service UUID $serviceUuid to the device model $deviceModel\",\n ({ serviceUuid, deviceModel }) => {\n // given\n const dataSource = new StaticDeviceModelDataSource();\n // when\n const bleServiceInfos = dataSource.getBluetoothServicesInfos();\n // then\n expect(bleServiceInfos[serviceUuid]?.deviceModel.id).toEqual(\n deviceModel,\n );\n },\n );\n });\n describe(\"getBluetoothServices\", () => {\n it(\"should return the bluetooth services\", () => {\n // given\n const dataSource = new StaticDeviceModelDataSource();\n // when\n const bleServices = dataSource.getBluetoothServices();\n // then\n expect(bleServices).toStrictEqual([\n \"13d63400-2c97-0004-0000-4c6564676572\",\n \"13d63400-2c97-6004-0000-4c6564676572\",\n \"13d63400-2c97-3004-0000-4c6564676572\",\n \"13d63400-2c97-8004-0000-4c6564676572\",\n \"13d63400-2c97-9004-0000-4c6564676572\",\n ]);\n });\n });\n\n describe(\"getBlockSize\", () => {\n const testData: Record<\n DeviceModelId,\n Array<{ firmwareVersion: string; expectedBlockSize: number }>\n > = {\n [DeviceModelId.NANO_S]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 4 * 1024 },\n { firmwareVersion: \"1.0.0-rc1\", expectedBlockSize: 4 * 1024 },\n { firmwareVersion: \"2.0.0\", expectedBlockSize: 2 * 1024 },\n { firmwareVersion: \"2.0.0-rc1\", expectedBlockSize: 2 * 1024 },\n ],\n [DeviceModelId.NANO_SP]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 32 },\n ],\n [DeviceModelId.NANO_X]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 4 * 1024 },\n ],\n [DeviceModelId.STAX]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 32 },\n ],\n [DeviceModelId.FLEX]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 32 },\n ],\n [DeviceModelId.APEX]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 32 },\n ],\n };\n\n describe.each(Object.entries(testData))(\n \"Device Model: %s\",\n (deviceModelId, scenarios) => {\n it.each(scenarios)(\n \"should return $expectedBlockSize for firmware version $firmwareVersion\",\n ({ firmwareVersion, expectedBlockSize }) => {\n const deviceModel =\n new StaticDeviceModelDataSource().getDeviceModel({\n id: deviceModelId as DeviceModelId,\n });\n expect(deviceModel.getBlockSize({ firmwareVersion })).toBe(\n expectedBlockSize,\n );\n },\n );\n },\n );\n });\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { DeviceModelId } from \"@api/device/DeviceModel\";\nimport { BleDeviceInfos } from \"@api/device-model/model/BleDeviceInfos\";\n\nimport { StaticDeviceModelDataSource } from \"./StaticDeviceModelDataSource\";\n\ndescribe(\"StaticDeviceModelDataSource\", () => {\n describe(\"getAllDeviceModels\", () => {\n it(\"should return all device models\", () => {\n const dataSource = new StaticDeviceModelDataSource();\n const deviceModels = dataSource.getAllDeviceModels();\n\n expect(deviceModels.length).toEqual(6);\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.APEX }),\n );\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_S }),\n );\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_SP }),\n );\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_X }),\n );\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.STAX }),\n );\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.FLEX }),\n );\n });\n });\n\n describe(\"getDeviceModel\", () => {\n it(\"should return the associated device model\", () => {\n const dataSource = new StaticDeviceModelDataSource();\n\n const deviceModel1 = dataSource.getDeviceModel({\n id: DeviceModelId.NANO_S,\n });\n expect(deviceModel1).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_S }),\n );\n\n const deviceModel2 = dataSource.getDeviceModel({\n id: DeviceModelId.NANO_SP,\n });\n expect(deviceModel2).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_SP }),\n );\n\n const deviceModel3 = dataSource.getDeviceModel({\n id: DeviceModelId.NANO_X,\n });\n expect(deviceModel3).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_X }),\n );\n\n const deviceModel4 = dataSource.getDeviceModel({\n id: DeviceModelId.STAX,\n });\n expect(deviceModel4).toEqual(\n expect.objectContaining({ id: DeviceModelId.STAX }),\n );\n\n const deviceModel5 = dataSource.getDeviceModel({\n id: DeviceModelId.FLEX,\n });\n expect(deviceModel5).toEqual(\n expect.objectContaining({ id: DeviceModelId.FLEX }),\n );\n });\n });\n\n describe(\"filterDeviceModels\", () => {\n it(\"should return the device models that match the given single parameter\", () => {\n const dataSource = new StaticDeviceModelDataSource();\n\n const deviceModels1 = dataSource.filterDeviceModels({ usbOnly: true });\n expect(deviceModels1.length).toEqual(2);\n expect(deviceModels1).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_SP }),\n );\n expect(deviceModels1).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_S }),\n );\n\n const deviceModels2 = dataSource.filterDeviceModels({\n usbProductId: 0x10,\n });\n expect(deviceModels2.length).toEqual(1);\n expect(deviceModels2[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_S }),\n );\n\n const deviceModels3 = dataSource.filterDeviceModels({\n usbProductId: 0x40,\n });\n expect(deviceModels3.length).toEqual(1);\n expect(deviceModels3[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_X }),\n );\n\n const deviceModels4 = dataSource.filterDeviceModels({\n usbProductId: 0x50,\n });\n expect(deviceModels4.length).toEqual(1);\n expect(deviceModels4[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_SP }),\n );\n\n const deviceModels5 = dataSource.filterDeviceModels({\n usbProductId: 0x60,\n });\n expect(deviceModels5.length).toEqual(1);\n expect(deviceModels5[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.STAX }),\n );\n\n const deviceModels6 = dataSource.filterDeviceModels({\n usbProductId: 0x00,\n });\n expect(deviceModels6.length).toEqual(0);\n });\n\n it(\"should return the device models that match the given multiple parameters\", () => {\n const dataSource = new StaticDeviceModelDataSource();\n\n const deviceModels1 = dataSource.filterDeviceModels({\n usbOnly: false,\n usbProductId: 0x40,\n });\n expect(deviceModels1.length).toEqual(1);\n expect(deviceModels1[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_X }),\n );\n\n const deviceModels2 = dataSource.filterDeviceModels({\n usbOnly: true,\n usbProductId: 0x50,\n });\n expect(deviceModels2.length).toEqual(1);\n expect(deviceModels2[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_SP }),\n );\n\n // Nano S is usbOnly\n const deviceModels3 = dataSource.filterDeviceModels({\n usbOnly: false,\n usbProductId: 0x10,\n });\n expect(deviceModels3.length).toEqual(0);\n });\n });\n describe(\"getBluetoothServicesInfos\", () => {\n it(\"should return the ble service infos record\", () => {\n // given\n const dataSource = new StaticDeviceModelDataSource();\n // when\n const bleServiceInfos = dataSource.getBluetoothServicesInfos();\n // then\n expect(bleServiceInfos).toStrictEqual({\n \"13d63400-2c97-0004-0000-4c6564676572\": new BleDeviceInfos(\n dataSource.getDeviceModel({ id: DeviceModelId.NANO_X }),\n \"13d63400-2c97-0004-0000-4c6564676572\",\n \"13d63400-2c97-0004-0002-4c6564676572\",\n \"13d63400-2c97-0004-0003-4c6564676572\",\n \"13d63400-2c97-0004-0001-4c6564676572\",\n ),\n \"13d63400-2c97-6004-0000-4c6564676572\": new BleDeviceInfos(\n dataSource.getDeviceModel({ id: DeviceModelId.STAX }),\n \"13d63400-2c97-6004-0000-4c6564676572\",\n \"13d63400-2c97-6004-0002-4c6564676572\",\n \"13d63400-2c97-6004-0003-4c6564676572\",\n \"13d63400-2c97-6004-0001-4c6564676572\",\n ),\n \"13d63400-2c97-3004-0000-4c6564676572\": new BleDeviceInfos(\n dataSource.getDeviceModel({ id: DeviceModelId.FLEX }),\n \"13d63400-2c97-3004-0000-4c6564676572\",\n \"13d63400-2c97-3004-0002-4c6564676572\",\n \"13d63400-2c97-3004-0003-4c6564676572\",\n \"13d63400-2c97-3004-0001-4c6564676572\",\n ),\n \"13d63400-2c97-8004-0000-4c6564676572\": new BleDeviceInfos(\n dataSource.getDeviceModel({ id: DeviceModelId.APEX }),\n \"13d63400-2c97-8004-0000-4c6564676572\",\n \"13d63400-2c97-8004-0002-4c6564676572\",\n \"13d63400-2c97-8004-0003-4c6564676572\",\n \"13d63400-2c97-8004-0001-4c6564676572\",\n ),\n \"13d63400-2c97-9004-0000-4c6564676572\": new BleDeviceInfos(\n dataSource.getDeviceModel({ id: DeviceModelId.APEX }),\n \"13d63400-2c97-9004-0000-4c6564676572\",\n \"13d63400-2c97-9004-0002-4c6564676572\",\n \"13d63400-2c97-9004-0003-4c6564676572\",\n \"13d63400-2c97-9004-0001-4c6564676572\",\n ),\n });\n });\n const expectedMatches = [\n {\n serviceUuid: \"13d63400-2c97-0004-0000-4c6564676572\",\n deviceModel: DeviceModelId.NANO_X,\n },\n {\n serviceUuid: \"13d63400-2c97-6004-0000-4c6564676572\",\n deviceModel: DeviceModelId.STAX,\n },\n {\n serviceUuid: \"13d63400-2c97-3004-0000-4c6564676572\",\n deviceModel: DeviceModelId.FLEX,\n },\n {\n serviceUuid: \"13d63400-2c97-8004-0000-4c6564676572\",\n deviceModel: DeviceModelId.APEX,\n },\n {\n serviceUuid: \"13d63400-2c97-9004-0000-4c6564676572\",\n deviceModel: DeviceModelId.APEX,\n },\n ];\n\n it.each(expectedMatches)(\n \"should properly map the service UUID $serviceUuid to the device model $deviceModel\",\n ({ serviceUuid, deviceModel }) => {\n // given\n const dataSource = new StaticDeviceModelDataSource();\n // when\n const bleServiceInfos = dataSource.getBluetoothServicesInfos();\n // then\n expect(bleServiceInfos[serviceUuid]?.deviceModel.id).toEqual(\n deviceModel,\n );\n },\n );\n });\n describe(\"getBluetoothServices\", () => {\n it(\"should return the bluetooth services\", () => {\n // given\n const dataSource = new StaticDeviceModelDataSource();\n // when\n const bleServices = dataSource.getBluetoothServices();\n // then\n expect(bleServices).toStrictEqual([\n \"13d63400-2c97-0004-0000-4c6564676572\",\n \"13d63400-2c97-6004-0000-4c6564676572\",\n \"13d63400-2c97-3004-0000-4c6564676572\",\n \"13d63400-2c97-8004-0000-4c6564676572\",\n \"13d63400-2c97-9004-0000-4c6564676572\",\n ]);\n });\n });\n\n describe(\"getBlockSize\", () => {\n const testData: Record<\n DeviceModelId,\n Array<{ firmwareVersion: string; expectedBlockSize: number }>\n > = {\n [DeviceModelId.NANO_S]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 4 * 1024 },\n { firmwareVersion: \"1.0.0-rc1\", expectedBlockSize: 4 * 1024 },\n { firmwareVersion: \"2.0.0\", expectedBlockSize: 2 * 1024 },\n { firmwareVersion: \"2.0.0-rc1\", expectedBlockSize: 2 * 1024 },\n ],\n [DeviceModelId.NANO_SP]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 512 },\n ],\n [DeviceModelId.NANO_X]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 4 * 1024 },\n ],\n [DeviceModelId.STAX]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 512 },\n ],\n [DeviceModelId.FLEX]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 512 },\n ],\n [DeviceModelId.APEX]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 512 },\n ],\n };\n\n describe.each(Object.entries(testData))(\n \"Device Model: %s\",\n (deviceModelId, scenarios) => {\n it.each(scenarios)(\n \"should return $expectedBlockSize for firmware version $firmwareVersion\",\n ({ firmwareVersion, expectedBlockSize }) => {\n const deviceModel =\n new StaticDeviceModelDataSource().getDeviceModel({\n id: deviceModelId as DeviceModelId,\n });\n expect(deviceModel.getBlockSize({ firmwareVersion })).toBe(\n expectedBlockSize,\n );\n },\n );\n },\n );\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_DeviceModel", "import_BleDeviceInfos", "import_StaticDeviceModelDataSource", "deviceModels", "dataSource", "deviceModel1", "deviceModel2", "deviceModel3", "deviceModel4", "deviceModel5", "deviceModels1", "deviceModels2", "deviceModels3", "deviceModels4", "deviceModels5", "deviceModels6", "bleServiceInfos", "expectedMatches", "serviceUuid", "deviceModel", "bleServices", "testData", "deviceModelId", "scenarios", "firmwareVersion", "expectedBlockSize"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var L=Object.defineProperty;var Be=Object.getOwnPropertyDescriptor;var Te=Object.getOwnPropertyNames;var Pe=Object.prototype.hasOwnProperty;var Oe=(p,t)=>{for(var a in t)L(p,a,{get:t[a],enumerable:!0})},v=(p,t,a,k)=>{if(t&&typeof t=="object"||typeof t=="function")for(let f of Te(t))!Pe.call(p,f)&&f!==a&&L(p,f,{get:()=>t[f],enumerable:!(k=Be(t,f))||k.enumerable});return p},o=(p,t,a)=>(v(p,t,"default"),a&&v(a,t,"default"));var be=p=>v(L({},"__esModule",{value:!0}),p);var e={};Oe(e,{APDU_MAX_PAYLOAD:()=>A.APDU_MAX_PAYLOAD,Apdu:()=>R.Apdu,ApduBuilder:()=>A.ApduBuilder,ApduParser:()=>E.ApduParser,ApduResponse:()=>ae.ApduResponse,AppAlreadyInstalledDAError:()=>r.AppAlreadyInstalledDAError,ApplicationChecker:()=>Ie.ApplicationChecker,BackupAppStorageTask:()=>ee.BackupAppStorageTask,BackupStorageCommand:()=>B.BackupStorageCommand,BatteryStatusType:()=>g.BatteryStatusType,BleDeviceInfos:()=>te.BleDeviceInfos,ByteArrayBuilder:()=>G.ByteArrayBuilder,ByteArrayParser:()=>I.ByteArrayParser,CallTaskInAppDeviceAction:()=>K.CallTaskInAppDeviceAction,CloseAppCommand:()=>T.CloseAppCommand,CommandResultFactory:()=>m.CommandResultFactory,CommandResultStatus:()=>m.CommandResultStatus,CommandUtils:()=>_.CommandUtils,ConnectedDevice:()=>ke.ConnectedDevice,ConsoleLogger:()=>ye.ConsoleLogger,DEFAULT_UNLOCK_TIMEOUT_MS:()=>z.DEFAULT_UNLOCK_TIMEOUT_MS,DMK_STORAGE_PREFIX_KEY:()=>de.DMK_STORAGE_PREFIX_KEY,DefaultLogTagFormatter:()=>Ce.DefaultLogTagFormatter,DeleteLanguagePackCommand:()=>x.DeleteLanguagePackCommand,DeleteLanguagePackCommandError:()=>x.DeleteLanguagePackCommandError,DeleteLanguagePackDAError:()=>r.DeleteLanguagePackDAError,DeviceActionStatus:()=>w.DeviceActionStatus,DeviceConnectionStateMachine:()=>Re.DeviceConnectionStateMachine,DeviceLockedError:()=>r.DeviceLockedError,DeviceManagementKit:()=>De.DeviceManagementKit,DeviceManagementKitBuilder:()=>ge.DeviceManagementKitBuilder,DeviceModel:()=>i.DeviceModel,DeviceModelId:()=>i.DeviceModelId,DeviceNotOnboardedError:()=>r.DeviceNotOnboardedError,DeviceSessionStateType:()=>me.DeviceSessionStateType,DeviceStatus:()=>V.DeviceStatus,DmkNetworkClient:()=>ve.DmkNetworkClient,DmkNetworkClientError:()=>Le.DmkNetworkClientError,DmkResultFactory:()=>s.DmkResultFactory,DmkResultStatus:()=>s.DmkResultStatus,FramerUtils:()=>xe.FramerUtils,GLOBAL_ERRORS:()=>n.GLOBAL_ERRORS,GenuineCheckDeviceAction:()=>ne.GenuineCheckDeviceAction,GetAppAndVersionCommand:()=>P.GetAppAndVersionCommand,GetAppStorageInfoCommand:()=>O.GetAppStorageInfoCommand,GetApplicationsMetadataTaskError:()=>y.GetApplicationsMetadataTaskError,GetBackgroundImageSizeCommand:()=>D.GetBackgroundImageSizeCommand,GetBackgroundImageSizeCommandError:()=>D.GetBackgroundImageSizeCommandError,GetBatteryStatusCommand:()=>g.GetBatteryStatusCommand,GetDeviceMetadataDeviceAction:()=>W.GetDeviceMetadataDeviceAction,GetDeviceStatusDeviceAction:()=>q.GetDeviceStatusDeviceAction,GetOsVersionCommand:()=>b.GetOsVersionCommand,GlobalCommandError:()=>n.GlobalCommandError,GlobalCommandErrorHandler:()=>n.GlobalCommandErrorHandler,GoToDashboardDeviceAction:()=>H.GoToDashboardDeviceAction,InstallAppDeviceAction:()=>ie.InstallAppDeviceAction,InstallLanguagePackageDeviceAction:()=>X.InstallLanguagePackageDeviceAction,InstallOrUpdateAppsDeviceAction:()=>Q.InstallOrUpdateAppsDeviceAction,InvalidGetFirmwareMetadataResponseError:()=>y.InvalidGetFirmwareMetadataResponseError,InvalidResponseFormatError:()=>u.InvalidResponseFormatError,InvalidStatusWordError:()=>u.InvalidStatusWordError,LEDGER_VENDOR_ID:()=>i.LEDGER_VENDOR_ID,ListAppsCommand:()=>h.ListAppsCommand,ListAppsDeviceAction:()=>Y.ListAppsDeviceAction,ListAppsWithMetadataDeviceAction:()=>j.ListAppsWithMetadataDeviceAction,ListInstalledAppsDeviceAction:()=>se.ListInstalledAppsDeviceAction,ListLanguagePackCommand:()=>l.ListLanguagePackCommand,ListLanguagePackCommandError:()=>l.ListLanguagePackCommandError,LoadCertificateCommand:()=>M.LoadCertificateCommand,LogLevel:()=>le.LogLevel,OpenAppCommand:()=>U.OpenAppCommand,OpenAppDeviceAction:()=>J.OpenAppDeviceAction,OpenAppWithDependenciesDeviceAction:()=>Z.OpenAppWithDependenciesDeviceAction,OutOfMemoryDAError:()=>r.OutOfMemoryDAError,RefusedByUserDAError:()=>r.RefusedByUserDAError,SecureChannelError:()=>fe.SecureChannelError,SendCommandInAppDeviceAction:()=>$.SendCommandInAppDeviceAction,StaticDeviceModelDataSource:()=>re.StaticDeviceModelDataSource,TransportConnectedDevice:()=>Ee.TransportConnectedDevice,TransportDeviceModel:()=>pe.TransportDeviceModel,UninstallAppDeviceAction:()=>ce.UninstallAppDeviceAction,UnknownDAError:()=>r.UnknownDAError,UnsupportedFirmwareDAError:()=>r.UnsupportedFirmwareDAError,UserInteractionRequired:()=>N.UserInteractionRequired,WebLogsExporterLogger:()=>Se.WebLogsExporterLogger,XStateDeviceAction:()=>oe.XStateDeviceAction,base64StringToBuffer:()=>c.base64StringToBuffer,bufferToBase64String:()=>c.bufferToBase64String,bufferToHexaString:()=>d.bufferToHexaString,connectedDeviceStubBuilder:()=>Ge.connectedDeviceStubBuilder,defaultApduReceiverServiceStubBuilder:()=>Ae.defaultApduReceiverServiceStubBuilder,defaultApduSenderServiceStubBuilder:()=>ue.defaultApduSenderServiceStubBuilder,formatApduReceivedLog:()=>S.formatApduReceivedLog,formatApduSentLog:()=>S.formatApduSentLog,hexaStringToBuffer:()=>d.hexaStringToBuffer,isBase64String:()=>c.isBase64String,isCommandErrorCode:()=>F.isCommandErrorCode,isHexaString:()=>d.isHexaString,isSuccessCommandResult:()=>m.isSuccessCommandResult,isSuccessDmkResult:()=>s.isSuccessDmkResult,noopLogger:()=>C.noopLogger,noopLoggerFactory:()=>C.noopLoggerFactory});module.exports=be(e);var R=require("./apdu/model/Apdu"),A=require("./apdu/utils/ApduBuilder"),E=require("./apdu/utils/ApduParser");o(e,require("./apdu/utils/AppBuilderError"),module.exports);var G=require("./apdu/utils/ByteArrayBuilder"),I=require("./apdu/utils/ByteArrayParser"),u=require("./command/Errors"),m=require("./command/model/CommandResult"),B=require("./command/os/BackupStorageCommand"),T=require("./command/os/CloseAppCommand"),x=require("./command/os/DeleteLanguagePackCommand"),P=require("./command/os/GetAppAndVersionCommand"),O=require("./command/os/GetAppStorageInfoCommand"),D=require("./command/os/GetBackgroundImageSizeCommand"),g=require("./command/os/GetBatteryStatusCommand"),b=require("./command/os/GetOsVersionCommand"),h=require("./command/os/ListAppsCommand"),l=require("./command/os/ListLanguagePackCommand"),M=require("./command/os/LoadCertificateCommand"),U=require("./command/os/OpenAppCommand"),F=require("./command/utils/CommandErrors"),_=require("./command/utils/CommandUtils"),n=require("./command/utils/GlobalCommandError"),i=require("./device/DeviceModel"),V=require("./device/DeviceStatus"),w=require("./device-action/model/DeviceActionState"),N=require("./device-action/model/UserInteractionRequired"),K=require("./device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction"),z=require("./device-action/os/Const"),r=require("./device-action/os/Errors"),W=require("./device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction"),q=require("./device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction"),H=require("./device-action/os/GoToDashboard/GoToDashboardDeviceAction"),X=require("./device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction"),Q=require("./device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction"),Y=require("./device-action/os/ListApps/ListAppsDeviceAction"),j=require("./device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction"),J=require("./device-action/os/OpenAppDeviceAction/OpenAppDeviceAction"),Z=require("./device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction"),$=require("./device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction"),ee=require("./device-action/task/BackupAppStorageTask"),y=require("./device-action/task/Errors"),oe=require("./device-action/xstate-utils/XStateDeviceAction"),re=require("./device-model/data/StaticDeviceModelDataSource"),te=require("./device-model/model/BleDeviceInfos"),pe=require("./device-model/model/DeviceModel"),ae=require("./device-session/ApduResponse");o(e,require("./device-session/data/FramerConst"),module.exports);var me=require("./device-session/DeviceSessionState"),s=require("./model/DmkResult"),ne=require("./secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction"),ie=require("./secure-channel/device-action/InstallApp/InstallAppDeviceAction"),se=require("./secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction"),ce=require("./secure-channel/device-action/UninstallApp/UninstallAppDeviceAction"),de=require("./storage/KeyValueStorage"),fe=require("../internal/secure-channel/model/Errors"),Ae=require("./device-session/service/DefaultApduReceiverService.stub"),ue=require("./device-session/service/DefaultApduSenderService.stub"),xe=require("./device-session/utils/FramerUtils"),De=require("./DeviceManagementKit"),ge=require("./DeviceManagementKitBuilder");o(e,require("./Error"),module.exports);var C=require("./logger-publisher/utils/noopLoggerFactory"),le=require("./logger-subscriber/model/LogLevel"),ye=require("./logger-subscriber/service/ConsoleLogger"),Ce=require("./logger-subscriber/service/DefaultLogTagFormatter"),Se=require("./logger-subscriber/service/WebLogsExporterLogger"),ve=require("./network/DmkNetworkClient"),Le=require("./network/DmkNetworkClientError"),ke=require("./transport/model/ConnectedDevice"),Re=require("./transport/model/DeviceConnectionStateMachine");o(e,require("./transport/model/Errors"),module.exports);var Ee=require("./transport/model/TransportConnectedDevice"),Ge=require("./transport/model/TransportConnectedDevice.stub");o(e,require("./types"),module.exports);var S=require("./utils/apduLogs"),Ie=require("./utils/ApplicationChecker"),c=require("./utils/Base64String"),d=require("./utils/HexaString");0&&(module.exports={APDU_MAX_PAYLOAD,Apdu,ApduBuilder,ApduParser,ApduResponse,AppAlreadyInstalledDAError,ApplicationChecker,BackupAppStorageTask,BackupStorageCommand,BatteryStatusType,BleDeviceInfos,ByteArrayBuilder,ByteArrayParser,CallTaskInAppDeviceAction,CloseAppCommand,CommandResultFactory,CommandResultStatus,CommandUtils,ConnectedDevice,ConsoleLogger,DEFAULT_UNLOCK_TIMEOUT_MS,DMK_STORAGE_PREFIX_KEY,DefaultLogTagFormatter,DeleteLanguagePackCommand,DeleteLanguagePackCommandError,DeleteLanguagePackDAError,DeviceActionStatus,DeviceConnectionStateMachine,DeviceLockedError,DeviceManagementKit,DeviceManagementKitBuilder,DeviceModel,DeviceModelId,DeviceNotOnboardedError,DeviceSessionStateType,DeviceStatus,DmkNetworkClient,DmkNetworkClientError,DmkResultFactory,DmkResultStatus,FramerUtils,GLOBAL_ERRORS,GenuineCheckDeviceAction,GetAppAndVersionCommand,GetAppStorageInfoCommand,GetApplicationsMetadataTaskError,GetBackgroundImageSizeCommand,GetBackgroundImageSizeCommandError,GetBatteryStatusCommand,GetDeviceMetadataDeviceAction,GetDeviceStatusDeviceAction,GetOsVersionCommand,GlobalCommandError,GlobalCommandErrorHandler,GoToDashboardDeviceAction,InstallAppDeviceAction,InstallLanguagePackageDeviceAction,InstallOrUpdateAppsDeviceAction,InvalidGetFirmwareMetadataResponseError,InvalidResponseFormatError,InvalidStatusWordError,LEDGER_VENDOR_ID,ListAppsCommand,ListAppsDeviceAction,ListAppsWithMetadataDeviceAction,ListInstalledAppsDeviceAction,ListLanguagePackCommand,ListLanguagePackCommandError,LoadCertificateCommand,LogLevel,OpenAppCommand,OpenAppDeviceAction,OpenAppWithDependenciesDeviceAction,OutOfMemoryDAError,RefusedByUserDAError,SecureChannelError,SendCommandInAppDeviceAction,StaticDeviceModelDataSource,TransportConnectedDevice,TransportDeviceModel,UninstallAppDeviceAction,UnknownDAError,UnsupportedFirmwareDAError,UserInteractionRequired,WebLogsExporterLogger,XStateDeviceAction,base64StringToBuffer,bufferToBase64String,bufferToHexaString,connectedDeviceStubBuilder,defaultApduReceiverServiceStubBuilder,defaultApduSenderServiceStubBuilder,formatApduReceivedLog,formatApduSentLog,hexaStringToBuffer,isBase64String,isCommandErrorCode,isHexaString,isSuccessCommandResult,isSuccessDmkResult,noopLogger,noopLoggerFactory,...require("./apdu/utils/AppBuilderError"),...require("./device-session/data/FramerConst"),...require("./Error"),...require("./transport/model/Errors"),...require("./types")});
1
+ "use strict";var L=Object.defineProperty;var Te=Object.getOwnPropertyDescriptor;var Pe=Object.getOwnPropertyNames;var Oe=Object.prototype.hasOwnProperty;var Fe=(p,t)=>{for(var a in t)L(p,a,{get:t[a],enumerable:!0})},v=(p,t,a,k)=>{if(t&&typeof t=="object"||typeof t=="function")for(let A of Pe(t))!Oe.call(p,A)&&A!==a&&L(p,A,{get:()=>t[A],enumerable:!(k=Te(t,A))||k.enumerable});return p},o=(p,t,a)=>(v(p,t,"default"),a&&v(a,t,"default"));var be=p=>v(L({},"__esModule",{value:!0}),p);var e={};Fe(e,{APDU_MAX_PAYLOAD:()=>f.APDU_MAX_PAYLOAD,Apdu:()=>R.Apdu,ApduBuilder:()=>f.ApduBuilder,ApduParser:()=>E.ApduParser,ApduResponse:()=>ne.ApduResponse,AppAlreadyInstalledDAError:()=>r.AppAlreadyInstalledDAError,ApplicationChecker:()=>Be.ApplicationChecker,BackupAppStorageTask:()=>oe.BackupAppStorageTask,BackupStorageCommand:()=>B.BackupStorageCommand,BatteryStatusType:()=>g.BatteryStatusType,BleDeviceInfos:()=>pe.BleDeviceInfos,ByteArrayBuilder:()=>G.ByteArrayBuilder,ByteArrayParser:()=>I.ByteArrayParser,CallTaskInAppDeviceAction:()=>N.CallTaskInAppDeviceAction,CloseAppCommand:()=>T.CloseAppCommand,CommandResultFactory:()=>n.CommandResultFactory,CommandResultStatus:()=>n.CommandResultStatus,CommandUtils:()=>U.CommandUtils,ConnectedDevice:()=>Re.ConnectedDevice,ConsoleLogger:()=>Ce.ConsoleLogger,DEFAULT_UNLOCK_TIMEOUT_MS:()=>K.DEFAULT_UNLOCK_TIMEOUT_MS,DMK_STORAGE_PREFIX_KEY:()=>Ae.DMK_STORAGE_PREFIX_KEY,DefaultLogTagFormatter:()=>Se.DefaultLogTagFormatter,DeleteLanguagePackCommand:()=>D.DeleteLanguagePackCommand,DeleteLanguagePackCommandError:()=>D.DeleteLanguagePackCommandError,DeleteLanguagePackDAError:()=>r.DeleteLanguagePackDAError,DeviceActionStatus:()=>_.DeviceActionStatus,DeviceConnectionStateMachine:()=>Ee.DeviceConnectionStateMachine,DeviceLockedError:()=>r.DeviceLockedError,DeviceManagementKit:()=>ge.DeviceManagementKit,DeviceManagementKitBuilder:()=>le.DeviceManagementKitBuilder,DeviceModel:()=>i.DeviceModel,DeviceModelId:()=>i.DeviceModelId,DeviceNotOnboardedError:()=>r.DeviceNotOnboardedError,DeviceSessionStateType:()=>me.DeviceSessionStateType,DeviceStatus:()=>W.DeviceStatus,DmkNetworkClient:()=>Le.DmkNetworkClient,DmkNetworkClientError:()=>ke.DmkNetworkClientError,DmkResultFactory:()=>s.DmkResultFactory,DmkResultStatus:()=>s.DmkResultStatus,FramerUtils:()=>xe.FramerUtils,GLOBAL_ERRORS:()=>m.GLOBAL_ERRORS,GenuineCheckDeviceAction:()=>ie.GenuineCheckDeviceAction,GetAppAndVersionCommand:()=>P.GetAppAndVersionCommand,GetAppStorageInfoCommand:()=>O.GetAppStorageInfoCommand,GetApplicationsMetadataTaskError:()=>y.GetApplicationsMetadataTaskError,GetBackgroundImageSizeCommand:()=>x.GetBackgroundImageSizeCommand,GetBackgroundImageSizeCommandError:()=>x.GetBackgroundImageSizeCommandError,GetBatteryStatusCommand:()=>g.GetBatteryStatusCommand,GetDeviceMetadataDeviceAction:()=>z.GetDeviceMetadataDeviceAction,GetDeviceStatusDeviceAction:()=>q.GetDeviceStatusDeviceAction,GetOsVersionCommand:()=>F.GetOsVersionCommand,GlobalCommandError:()=>m.GlobalCommandError,GlobalCommandErrorHandler:()=>m.GlobalCommandErrorHandler,GoToDashboardDeviceAction:()=>H.GoToDashboardDeviceAction,InstallAppDeviceAction:()=>se.InstallAppDeviceAction,InstallLanguagePackageDeviceAction:()=>X.InstallLanguagePackageDeviceAction,InstallOrUpdateAppsDeviceAction:()=>Q.InstallOrUpdateAppsDeviceAction,InvalidGetFirmwareMetadataResponseError:()=>y.InvalidGetFirmwareMetadataResponseError,InvalidResponseFormatError:()=>u.InvalidResponseFormatError,InvalidStatusWordError:()=>u.InvalidStatusWordError,LEDGER_VENDOR_ID:()=>i.LEDGER_VENDOR_ID,ListAppsCommand:()=>b.ListAppsCommand,ListAppsDeviceAction:()=>Y.ListAppsDeviceAction,ListAppsWithMetadataDeviceAction:()=>j.ListAppsWithMetadataDeviceAction,ListInstalledAppsDeviceAction:()=>ce.ListInstalledAppsDeviceAction,ListLanguagePackCommand:()=>l.ListLanguagePackCommand,ListLanguagePackCommandError:()=>l.ListLanguagePackCommandError,LoadCertificateCommand:()=>h.LoadCertificateCommand,LogLevel:()=>ye.LogLevel,OpenAppCommand:()=>M.OpenAppCommand,OpenAppDeviceAction:()=>J.OpenAppDeviceAction,OpenAppWithDependenciesDeviceAction:()=>Z.OpenAppWithDependenciesDeviceAction,OutOfMemoryDAError:()=>r.OutOfMemoryDAError,RefusedByUserDAError:()=>r.RefusedByUserDAError,SecureChannelError:()=>fe.SecureChannelError,SendCommandInAppDeviceAction:()=>$.SendCommandInAppDeviceAction,StaticDeviceModelDataSource:()=>te.StaticDeviceModelDataSource,TransportConnectedDevice:()=>Ge.TransportConnectedDevice,TransportDeviceModel:()=>ae.TransportDeviceModel,UninstallAppDeviceAction:()=>de.UninstallAppDeviceAction,UnknownDAError:()=>r.UnknownDAError,UnsupportedFirmwareDAError:()=>r.UnsupportedFirmwareDAError,UserInteractionRequired:()=>w.UserInteractionRequired,WaitForAppAndVersionDeviceAction:()=>ee.WaitForAppAndVersionDeviceAction,WebLogsExporterLogger:()=>ve.WebLogsExporterLogger,XStateDeviceAction:()=>re.XStateDeviceAction,base64StringToBuffer:()=>c.base64StringToBuffer,bufferToBase64String:()=>c.bufferToBase64String,bufferToHexaString:()=>d.bufferToHexaString,connectedDeviceStubBuilder:()=>Ie.connectedDeviceStubBuilder,defaultApduReceiverServiceStubBuilder:()=>ue.defaultApduReceiverServiceStubBuilder,defaultApduSenderServiceStubBuilder:()=>De.defaultApduSenderServiceStubBuilder,formatApduReceivedLog:()=>S.formatApduReceivedLog,formatApduSentLog:()=>S.formatApduSentLog,hexaStringToBuffer:()=>d.hexaStringToBuffer,isBase64String:()=>c.isBase64String,isCommandErrorCode:()=>V.isCommandErrorCode,isHexaString:()=>d.isHexaString,isSuccessCommandResult:()=>n.isSuccessCommandResult,isSuccessDmkResult:()=>s.isSuccessDmkResult,noopLogger:()=>C.noopLogger,noopLoggerFactory:()=>C.noopLoggerFactory});module.exports=be(e);var R=require("./apdu/model/Apdu"),f=require("./apdu/utils/ApduBuilder"),E=require("./apdu/utils/ApduParser");o(e,require("./apdu/utils/AppBuilderError"),module.exports);var G=require("./apdu/utils/ByteArrayBuilder"),I=require("./apdu/utils/ByteArrayParser"),u=require("./command/Errors"),n=require("./command/model/CommandResult"),B=require("./command/os/BackupStorageCommand"),T=require("./command/os/CloseAppCommand"),D=require("./command/os/DeleteLanguagePackCommand"),P=require("./command/os/GetAppAndVersionCommand"),O=require("./command/os/GetAppStorageInfoCommand"),x=require("./command/os/GetBackgroundImageSizeCommand"),g=require("./command/os/GetBatteryStatusCommand"),F=require("./command/os/GetOsVersionCommand"),b=require("./command/os/ListAppsCommand"),l=require("./command/os/ListLanguagePackCommand"),h=require("./command/os/LoadCertificateCommand"),M=require("./command/os/OpenAppCommand"),V=require("./command/utils/CommandErrors"),U=require("./command/utils/CommandUtils"),m=require("./command/utils/GlobalCommandError"),i=require("./device/DeviceModel"),W=require("./device/DeviceStatus"),_=require("./device-action/model/DeviceActionState"),w=require("./device-action/model/UserInteractionRequired"),N=require("./device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction"),K=require("./device-action/os/Const"),r=require("./device-action/os/Errors"),z=require("./device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction"),q=require("./device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction"),H=require("./device-action/os/GoToDashboard/GoToDashboardDeviceAction"),X=require("./device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction"),Q=require("./device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction"),Y=require("./device-action/os/ListApps/ListAppsDeviceAction"),j=require("./device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction"),J=require("./device-action/os/OpenAppDeviceAction/OpenAppDeviceAction"),Z=require("./device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction"),$=require("./device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction"),ee=require("./device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction"),oe=require("./device-action/task/BackupAppStorageTask"),y=require("./device-action/task/Errors"),re=require("./device-action/xstate-utils/XStateDeviceAction"),te=require("./device-model/data/StaticDeviceModelDataSource"),pe=require("./device-model/model/BleDeviceInfos"),ae=require("./device-model/model/DeviceModel"),ne=require("./device-session/ApduResponse");o(e,require("./device-session/data/FramerConst"),module.exports);var me=require("./device-session/DeviceSessionState"),s=require("./model/DmkResult"),ie=require("./secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction"),se=require("./secure-channel/device-action/InstallApp/InstallAppDeviceAction"),ce=require("./secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction"),de=require("./secure-channel/device-action/UninstallApp/UninstallAppDeviceAction"),Ae=require("./storage/KeyValueStorage"),fe=require("../internal/secure-channel/model/Errors"),ue=require("./device-session/service/DefaultApduReceiverService.stub"),De=require("./device-session/service/DefaultApduSenderService.stub"),xe=require("./device-session/utils/FramerUtils"),ge=require("./DeviceManagementKit"),le=require("./DeviceManagementKitBuilder");o(e,require("./Error"),module.exports);var C=require("./logger-publisher/utils/noopLoggerFactory"),ye=require("./logger-subscriber/model/LogLevel"),Ce=require("./logger-subscriber/service/ConsoleLogger"),Se=require("./logger-subscriber/service/DefaultLogTagFormatter"),ve=require("./logger-subscriber/service/WebLogsExporterLogger"),Le=require("./network/DmkNetworkClient"),ke=require("./network/DmkNetworkClientError"),Re=require("./transport/model/ConnectedDevice"),Ee=require("./transport/model/DeviceConnectionStateMachine");o(e,require("./transport/model/Errors"),module.exports);var Ge=require("./transport/model/TransportConnectedDevice"),Ie=require("./transport/model/TransportConnectedDevice.stub");o(e,require("./types"),module.exports);var S=require("./utils/apduLogs"),Be=require("./utils/ApplicationChecker"),c=require("./utils/Base64String"),d=require("./utils/HexaString");0&&(module.exports={APDU_MAX_PAYLOAD,Apdu,ApduBuilder,ApduParser,ApduResponse,AppAlreadyInstalledDAError,ApplicationChecker,BackupAppStorageTask,BackupStorageCommand,BatteryStatusType,BleDeviceInfos,ByteArrayBuilder,ByteArrayParser,CallTaskInAppDeviceAction,CloseAppCommand,CommandResultFactory,CommandResultStatus,CommandUtils,ConnectedDevice,ConsoleLogger,DEFAULT_UNLOCK_TIMEOUT_MS,DMK_STORAGE_PREFIX_KEY,DefaultLogTagFormatter,DeleteLanguagePackCommand,DeleteLanguagePackCommandError,DeleteLanguagePackDAError,DeviceActionStatus,DeviceConnectionStateMachine,DeviceLockedError,DeviceManagementKit,DeviceManagementKitBuilder,DeviceModel,DeviceModelId,DeviceNotOnboardedError,DeviceSessionStateType,DeviceStatus,DmkNetworkClient,DmkNetworkClientError,DmkResultFactory,DmkResultStatus,FramerUtils,GLOBAL_ERRORS,GenuineCheckDeviceAction,GetAppAndVersionCommand,GetAppStorageInfoCommand,GetApplicationsMetadataTaskError,GetBackgroundImageSizeCommand,GetBackgroundImageSizeCommandError,GetBatteryStatusCommand,GetDeviceMetadataDeviceAction,GetDeviceStatusDeviceAction,GetOsVersionCommand,GlobalCommandError,GlobalCommandErrorHandler,GoToDashboardDeviceAction,InstallAppDeviceAction,InstallLanguagePackageDeviceAction,InstallOrUpdateAppsDeviceAction,InvalidGetFirmwareMetadataResponseError,InvalidResponseFormatError,InvalidStatusWordError,LEDGER_VENDOR_ID,ListAppsCommand,ListAppsDeviceAction,ListAppsWithMetadataDeviceAction,ListInstalledAppsDeviceAction,ListLanguagePackCommand,ListLanguagePackCommandError,LoadCertificateCommand,LogLevel,OpenAppCommand,OpenAppDeviceAction,OpenAppWithDependenciesDeviceAction,OutOfMemoryDAError,RefusedByUserDAError,SecureChannelError,SendCommandInAppDeviceAction,StaticDeviceModelDataSource,TransportConnectedDevice,TransportDeviceModel,UninstallAppDeviceAction,UnknownDAError,UnsupportedFirmwareDAError,UserInteractionRequired,WaitForAppAndVersionDeviceAction,WebLogsExporterLogger,XStateDeviceAction,base64StringToBuffer,bufferToBase64String,bufferToHexaString,connectedDeviceStubBuilder,defaultApduReceiverServiceStubBuilder,defaultApduSenderServiceStubBuilder,formatApduReceivedLog,formatApduSentLog,hexaStringToBuffer,isBase64String,isCommandErrorCode,isHexaString,isSuccessCommandResult,isSuccessDmkResult,noopLogger,noopLoggerFactory,...require("./apdu/utils/AppBuilderError"),...require("./device-session/data/FramerConst"),...require("./Error"),...require("./transport/model/Errors"),...require("./types")});
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/api/index.ts"],
4
- "sourcesContent": ["\"use strict\";\n\nexport { Apdu } from \"@api/apdu/model/Apdu\";\nexport { APDU_MAX_PAYLOAD, ApduBuilder } from \"@api/apdu/utils/ApduBuilder\";\nexport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nexport * from \"@api/apdu/utils/AppBuilderError\";\nexport { ByteArrayBuilder } from \"@api/apdu/utils/ByteArrayBuilder\";\nexport { ByteArrayParser } from \"@api/apdu/utils/ByteArrayParser\";\nexport { type Command } from \"@api/command/Command\";\nexport {\n InvalidResponseFormatError,\n InvalidStatusWordError,\n} from \"@api/command/Errors\";\nexport {\n CommandResultFactory,\n CommandResultStatus,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nexport {\n BackupStorageCommand,\n type BackupStorageCommandErrorCodes,\n type BackupStorageCommandResponse,\n type BackupStorageCommandResult,\n} from \"@api/command/os/BackupStorageCommand\";\nexport { CloseAppCommand } from \"@api/command/os/CloseAppCommand\";\nexport {\n DeleteLanguagePackCommand,\n type DeleteLanguagePackCommandArgs,\n DeleteLanguagePackCommandError,\n type DeleteLanguagePackCommandResult,\n type DeleteLanguagePackErrorCodes,\n} from \"@api/command/os/DeleteLanguagePackCommand\";\nexport {\n GetAppAndVersionCommand,\n type GetAppAndVersionResponse,\n} from \"@api/command/os/GetAppAndVersionCommand\";\nexport {\n GetAppStorageInfoCommand,\n type GetAppStorageInfoCommandArgs,\n type GetAppStorageInfoCommandErrorCodes,\n type GetAppStorageInfoCommandResponse,\n type GetAppStorageInfoCommandResult,\n} from \"@api/command/os/GetAppStorageInfoCommand\";\nexport {\n GetBackgroundImageSizeCommand,\n GetBackgroundImageSizeCommandError,\n type GetBackgroundImageSizeCommandResult,\n type GetBackgroundImageSizeErrorCodes,\n type GetBackgroundImageSizeResponse,\n} from \"@api/command/os/GetBackgroundImageSizeCommand\";\nexport {\n BatteryStatusType,\n type GetBatteryStatusArgs,\n GetBatteryStatusCommand,\n type GetBatteryStatusResponse,\n} from \"@api/command/os/GetBatteryStatusCommand\";\nexport {\n GetOsVersionCommand,\n type GetOsVersionResponse,\n} from \"@api/command/os/GetOsVersionCommand\";\nexport {\n type ListAppsArgs,\n ListAppsCommand,\n type ListAppsErrorCodes,\n type ListAppsResponse,\n} from \"@api/command/os/ListAppsCommand\";\nexport {\n ListLanguagePackCommand,\n type ListLanguagePackCommandArgs,\n ListLanguagePackCommandError,\n type ListLanguagePackCommandResult,\n type ListLanguagePackErrorCodes,\n type ListLanguagePackResponse,\n} from \"@api/command/os/ListLanguagePackCommand\";\nexport {\n type LoadCertificateArgs,\n LoadCertificateCommand,\n type LoadCertificateErrorCodes,\n} from \"@api/command/os/LoadCertificateCommand\";\nexport {\n type OpenAppArgs,\n OpenAppCommand,\n} from \"@api/command/os/OpenAppCommand\";\nexport { isCommandErrorCode } from \"@api/command/utils/CommandErrors\";\nexport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nexport {\n GLOBAL_ERRORS,\n GlobalCommandError,\n GlobalCommandErrorHandler,\n} from \"@api/command/utils/GlobalCommandError\";\nexport {\n DeviceModel,\n DeviceModelId,\n LEDGER_VENDOR_ID,\n} from \"@api/device/DeviceModel\";\nexport { DeviceStatus } from \"@api/device/DeviceStatus\";\nexport { type InternalApi } from \"@api/device-action/DeviceAction\";\nexport {\n type DeviceActionState,\n DeviceActionStatus,\n} from \"@api/device-action/model/DeviceActionState\";\nexport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nexport { CallTaskInAppDeviceAction } from \"@api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction\";\nexport { DEFAULT_UNLOCK_TIMEOUT_MS } from \"@api/device-action/os/Const\";\nexport {\n AppAlreadyInstalledDAError,\n DeleteLanguagePackDAError,\n DeviceLockedError,\n DeviceNotOnboardedError,\n OutOfMemoryDAError,\n RefusedByUserDAError,\n UnknownDAError,\n UnsupportedFirmwareDAError,\n} from \"@api/device-action/os/Errors\";\nexport { GetDeviceMetadataDeviceAction } from \"@api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction\";\nexport { GetDeviceStatusDeviceAction } from \"@api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction\";\nexport { GoToDashboardDeviceAction } from \"@api/device-action/os/GoToDashboard/GoToDashboardDeviceAction\";\nexport type {\n GoToDashboardDAError,\n GoToDashboardDAInput,\n GoToDashboardDAIntermediateValue,\n GoToDashboardDAOutput,\n GoToDashboardDARequiredInteraction,\n GoToDashboardDAState,\n} from \"@api/device-action/os/GoToDashboard/types\";\nexport { InstallLanguagePackageDeviceAction } from \"@api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction\";\nexport { InstallOrUpdateAppsDeviceAction } from \"@api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction\";\nexport { ListAppsDeviceAction } from \"@api/device-action/os/ListApps/ListAppsDeviceAction\";\nexport { ListAppsWithMetadataDeviceAction } from \"@api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction\";\nexport { OpenAppDeviceAction } from \"@api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction\";\nexport { OpenAppWithDependenciesDeviceAction } from \"@api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction\";\nexport { SendCommandInAppDeviceAction } from \"@api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction\";\nexport { BackupAppStorageTask } from \"@api/device-action/task/BackupAppStorageTask\";\nexport {\n GetApplicationsMetadataTaskError,\n InvalidGetFirmwareMetadataResponseError,\n} from \"@api/device-action/task/Errors\";\nexport {\n type DeviceActionStateMachine,\n XStateDeviceAction,\n} from \"@api/device-action/xstate-utils/XStateDeviceAction\";\nexport { StaticDeviceModelDataSource } from \"@api/device-model/data/StaticDeviceModelDataSource\";\nexport { BleDeviceInfos } from \"@api/device-model/model/BleDeviceInfos\";\nexport { TransportDeviceModel } from \"@api/device-model/model/DeviceModel\";\nexport { ApduResponse } from \"@api/device-session/ApduResponse\";\nexport * from \"@api/device-session/data/FramerConst\";\nexport {\n type DeviceSessionState,\n DeviceSessionStateType,\n} from \"@api/device-session/DeviceSessionState\";\nexport {\n DmkResultFactory,\n DmkResultStatus,\n isSuccessDmkResult,\n} from \"@api/model/DmkResult\";\nexport { GenuineCheckDeviceAction } from \"@api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction\";\nexport { InstallAppDeviceAction } from \"@api/secure-channel/device-action/InstallApp/InstallAppDeviceAction\";\nexport { ListInstalledAppsDeviceAction } from \"@api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction\";\nexport type { InstalledApp } from \"@api/secure-channel/device-action/ListInstalledApps/types\";\nexport { UninstallAppDeviceAction } from \"@api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction\";\nexport {\n DMK_STORAGE_PREFIX_KEY,\n type KeyValueStorage,\n} from \"@api/storage/KeyValueStorage\";\nexport { SecureChannelError } from \"@internal/secure-channel/model/Errors\";\n// TODO: remove from exported\nexport { defaultApduReceiverServiceStubBuilder } from \"@api/device-session/service/DefaultApduReceiverService.stub\";\nexport { defaultApduSenderServiceStubBuilder } from \"@api/device-session/service/DefaultApduSenderService.stub\";\nexport { FramerUtils } from \"@api/device-session/utils/FramerUtils\";\nexport { DeviceManagementKit } from \"@api/DeviceManagementKit\";\nexport { DeviceManagementKitBuilder } from \"@api/DeviceManagementKitBuilder\";\nexport * from \"@api/Error\";\nexport {\n noopLogger,\n noopLoggerFactory,\n} from \"@api/logger-publisher/utils/noopLoggerFactory\";\nexport { LogLevel } from \"@api/logger-subscriber/model/LogLevel\";\nexport { ConsoleLogger } from \"@api/logger-subscriber/service/ConsoleLogger\";\nexport { DefaultLogTagFormatter } from \"@api/logger-subscriber/service/DefaultLogTagFormatter\";\nexport { type LogTagFormatter } from \"@api/logger-subscriber/service/LogTagFormatter\";\nexport { WebLogsExporterLogger } from \"@api/logger-subscriber/service/WebLogsExporterLogger\";\nexport {\n DmkNetworkClient,\n type DmkNetworkClientOptions,\n type DmkNetworkResponse,\n type DmkQueryParams,\n type DmkQueryParamValue,\n type DmkRequestConfig,\n type DmkResponseType,\n} from \"@api/network/DmkNetworkClient\";\nexport { DmkNetworkClientError } from \"@api/network/DmkNetworkClientError\";\nexport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nexport {\n DeviceConnectionStateMachine,\n type DeviceConnectionStateMachineParams,\n} from \"@api/transport/model/DeviceConnectionStateMachine\";\nexport * from \"@api/transport/model/Errors\";\nexport { TransportConnectedDevice } from \"@api/transport/model/TransportConnectedDevice\";\nexport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nexport * from \"@api/types\";\nexport { formatApduReceivedLog, formatApduSentLog } from \"@api/utils/apduLogs\";\nexport { ApplicationChecker } from \"@api/utils/ApplicationChecker\";\nexport {\n type AppConfig,\n type ApplicationResolver,\n type ResolvedApp,\n} from \"@api/utils/ApplicationResolver\";\nexport {\n base64StringToBuffer,\n bufferToBase64String,\n isBase64String,\n} from \"@api/utils/Base64String\";\nexport {\n bufferToHexaString,\n hexaStringToBuffer,\n isHexaString,\n} from \"@api/utils/HexaString\";\n"],
5
- "mappings": "meAAA,IAAAA,EAAA,GAAAC,GAAAD,EAAA,6+JAAAE,GAAAF,GAEA,IAAAG,EAAqB,gCACrBC,EAA8C,uCAC9CC,EAA2B,sCAC3BC,EAAAN,EAAc,2CALd,gBAMA,IAAAO,EAAiC,4CACjCC,EAAgC,2CAEhCC,EAGO,+BACPC,EAIO,4CACPC,EAKO,gDACPC,EAAgC,2CAChCC,EAMO,qDACPC,EAGO,mDACPC,EAMO,oDACPC,EAMO,yDACPC,EAKO,mDACPC,EAGO,+CACPC,EAKO,2CACPC,EAOO,mDACPC,EAIO,kDACPC,EAGO,0CACPC,EAAmC,4CACnCC,EAA6B,2CAC7BC,EAIO,iDACPC,EAIO,mCACPC,EAA6B,oCAE7BC,EAGO,sDACPC,EAAwC,4DACxCC,EAA0C,qFAC1CC,EAA0C,uCAC1CtB,EASO,wCACPuB,EAA8C,iFAC9CC,EAA4C,6EAC5CC,EAA0C,yEAS1CC,EAAmD,2FACnDC,EAAgD,qFAChDC,EAAqC,+DACrCC,EAAiD,uFACjDC,EAAoC,yEACpCC,EAAoD,6FACpDC,EAA6C,2FAC7CC,GAAqC,wDACrCjC,EAGO,0CACPkC,GAGO,8DACPC,GAA4C,8DAC5CC,GAA+B,kDAC/BnB,GAAqC,+CACrCoB,GAA6B,4CAC7BxC,EAAAN,EAAc,gDAjJd,gBAkJA,IAAA+C,GAGO,kDACPC,EAIO,gCACPC,GAAyC,mFACzCC,GAAuC,+EACvCC,GAA8C,6FAE9CC,GAAyC,mFACzCC,GAGO,wCACP5C,GAAmC,iDAEnC6C,GAAsD,uEACtDC,GAAoD,qEACpDC,GAA4B,iDAC5BC,GAAoC,oCACpCC,GAA2C,2CAC3CpD,EAAAN,EAAc,sBA3Kd,gBA4KA,IAAA2D,EAGO,yDACPC,GAAyB,iDACzBC,GAA8B,wDAC9BC,GAAuC,iEAEvCC,GAAsC,gEACtCC,GAQO,yCACPC,GAAsC,8CACtCC,GAAgC,gDAChCC,GAGO,6DACP7D,EAAAN,EAAc,uCApMd,gBAqMA,IAAAoE,GAAyC,yDACzCA,GAA2C,8DAC3C9D,EAAAN,EAAc,sBAvMd,gBAwMA,IAAAqE,EAAyD,+BACzDC,GAAmC,yCAMnCC,EAIO,mCACPC,EAIO",
6
- "names": ["api_exports", "__export", "__toCommonJS", "import_Apdu", "import_ApduBuilder", "import_ApduParser", "__reExport", "import_ByteArrayBuilder", "import_ByteArrayParser", "import_Errors", "import_CommandResult", "import_BackupStorageCommand", "import_CloseAppCommand", "import_DeleteLanguagePackCommand", "import_GetAppAndVersionCommand", "import_GetAppStorageInfoCommand", "import_GetBackgroundImageSizeCommand", "import_GetBatteryStatusCommand", "import_GetOsVersionCommand", "import_ListAppsCommand", "import_ListLanguagePackCommand", "import_LoadCertificateCommand", "import_OpenAppCommand", "import_CommandErrors", "import_CommandUtils", "import_GlobalCommandError", "import_DeviceModel", "import_DeviceStatus", "import_DeviceActionState", "import_UserInteractionRequired", "import_CallTaskInAppDeviceAction", "import_Const", "import_GetDeviceMetadataDeviceAction", "import_GetDeviceStatusDeviceAction", "import_GoToDashboardDeviceAction", "import_InstallLanguagePackageDeviceAction", "import_InstallOrUpdateAppsDeviceAction", "import_ListAppsDeviceAction", "import_ListAppsWithMetadataDeviceAction", "import_OpenAppDeviceAction", "import_OpenAppWithDependenciesDeviceAction", "import_SendCommandInAppDeviceAction", "import_BackupAppStorageTask", "import_XStateDeviceAction", "import_StaticDeviceModelDataSource", "import_BleDeviceInfos", "import_ApduResponse", "import_DeviceSessionState", "import_DmkResult", "import_GenuineCheckDeviceAction", "import_InstallAppDeviceAction", "import_ListInstalledAppsDeviceAction", "import_UninstallAppDeviceAction", "import_KeyValueStorage", "import_DefaultApduReceiverService", "import_DefaultApduSenderService", "import_FramerUtils", "import_DeviceManagementKit", "import_DeviceManagementKitBuilder", "import_noopLoggerFactory", "import_LogLevel", "import_ConsoleLogger", "import_DefaultLogTagFormatter", "import_WebLogsExporterLogger", "import_DmkNetworkClient", "import_DmkNetworkClientError", "import_ConnectedDevice", "import_DeviceConnectionStateMachine", "import_TransportConnectedDevice", "import_apduLogs", "import_ApplicationChecker", "import_Base64String", "import_HexaString"]
4
+ "sourcesContent": ["\"use strict\";\n\nexport { Apdu } from \"@api/apdu/model/Apdu\";\nexport { APDU_MAX_PAYLOAD, ApduBuilder } from \"@api/apdu/utils/ApduBuilder\";\nexport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nexport * from \"@api/apdu/utils/AppBuilderError\";\nexport { ByteArrayBuilder } from \"@api/apdu/utils/ByteArrayBuilder\";\nexport { ByteArrayParser } from \"@api/apdu/utils/ByteArrayParser\";\nexport { type Command } from \"@api/command/Command\";\nexport {\n InvalidResponseFormatError,\n InvalidStatusWordError,\n} from \"@api/command/Errors\";\nexport {\n CommandResultFactory,\n CommandResultStatus,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nexport {\n BackupStorageCommand,\n type BackupStorageCommandErrorCodes,\n type BackupStorageCommandResponse,\n type BackupStorageCommandResult,\n} from \"@api/command/os/BackupStorageCommand\";\nexport { CloseAppCommand } from \"@api/command/os/CloseAppCommand\";\nexport {\n DeleteLanguagePackCommand,\n type DeleteLanguagePackCommandArgs,\n DeleteLanguagePackCommandError,\n type DeleteLanguagePackCommandResult,\n type DeleteLanguagePackErrorCodes,\n} from \"@api/command/os/DeleteLanguagePackCommand\";\nexport {\n GetAppAndVersionCommand,\n type GetAppAndVersionResponse,\n} from \"@api/command/os/GetAppAndVersionCommand\";\nexport {\n GetAppStorageInfoCommand,\n type GetAppStorageInfoCommandArgs,\n type GetAppStorageInfoCommandErrorCodes,\n type GetAppStorageInfoCommandResponse,\n type GetAppStorageInfoCommandResult,\n} from \"@api/command/os/GetAppStorageInfoCommand\";\nexport {\n GetBackgroundImageSizeCommand,\n GetBackgroundImageSizeCommandError,\n type GetBackgroundImageSizeCommandResult,\n type GetBackgroundImageSizeErrorCodes,\n type GetBackgroundImageSizeResponse,\n} from \"@api/command/os/GetBackgroundImageSizeCommand\";\nexport {\n BatteryStatusType,\n type GetBatteryStatusArgs,\n GetBatteryStatusCommand,\n type GetBatteryStatusResponse,\n} from \"@api/command/os/GetBatteryStatusCommand\";\nexport {\n GetOsVersionCommand,\n type GetOsVersionResponse,\n} from \"@api/command/os/GetOsVersionCommand\";\nexport {\n type ListAppsArgs,\n ListAppsCommand,\n type ListAppsErrorCodes,\n type ListAppsResponse,\n} from \"@api/command/os/ListAppsCommand\";\nexport {\n ListLanguagePackCommand,\n type ListLanguagePackCommandArgs,\n ListLanguagePackCommandError,\n type ListLanguagePackCommandResult,\n type ListLanguagePackErrorCodes,\n type ListLanguagePackResponse,\n} from \"@api/command/os/ListLanguagePackCommand\";\nexport {\n type LoadCertificateArgs,\n LoadCertificateCommand,\n type LoadCertificateErrorCodes,\n} from \"@api/command/os/LoadCertificateCommand\";\nexport {\n type OpenAppArgs,\n OpenAppCommand,\n} from \"@api/command/os/OpenAppCommand\";\nexport { isCommandErrorCode } from \"@api/command/utils/CommandErrors\";\nexport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nexport {\n GLOBAL_ERRORS,\n GlobalCommandError,\n GlobalCommandErrorHandler,\n} from \"@api/command/utils/GlobalCommandError\";\nexport {\n DeviceModel,\n DeviceModelId,\n LEDGER_VENDOR_ID,\n} from \"@api/device/DeviceModel\";\nexport { DeviceStatus } from \"@api/device/DeviceStatus\";\nexport { type InternalApi } from \"@api/device-action/DeviceAction\";\nexport {\n type DeviceActionState,\n DeviceActionStatus,\n} from \"@api/device-action/model/DeviceActionState\";\nexport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nexport { CallTaskInAppDeviceAction } from \"@api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction\";\nexport { DEFAULT_UNLOCK_TIMEOUT_MS } from \"@api/device-action/os/Const\";\nexport {\n AppAlreadyInstalledDAError,\n DeleteLanguagePackDAError,\n DeviceLockedError,\n DeviceNotOnboardedError,\n OutOfMemoryDAError,\n RefusedByUserDAError,\n UnknownDAError,\n UnsupportedFirmwareDAError,\n} from \"@api/device-action/os/Errors\";\nexport { GetDeviceMetadataDeviceAction } from \"@api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction\";\nexport { GetDeviceStatusDeviceAction } from \"@api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction\";\nexport { GoToDashboardDeviceAction } from \"@api/device-action/os/GoToDashboard/GoToDashboardDeviceAction\";\nexport type {\n GoToDashboardDAError,\n GoToDashboardDAInput,\n GoToDashboardDAIntermediateValue,\n GoToDashboardDAOutput,\n GoToDashboardDARequiredInteraction,\n GoToDashboardDAState,\n} from \"@api/device-action/os/GoToDashboard/types\";\nexport { InstallLanguagePackageDeviceAction } from \"@api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction\";\nexport { InstallOrUpdateAppsDeviceAction } from \"@api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction\";\nexport { ListAppsDeviceAction } from \"@api/device-action/os/ListApps/ListAppsDeviceAction\";\nexport { ListAppsWithMetadataDeviceAction } from \"@api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction\";\nexport { OpenAppDeviceAction } from \"@api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction\";\nexport { OpenAppWithDependenciesDeviceAction } from \"@api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction\";\nexport { SendCommandInAppDeviceAction } from \"@api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction\";\nexport type {\n WaitForAppAndVersionDAError,\n WaitForAppAndVersionDAInput,\n WaitForAppAndVersionDAIntermediateValue,\n WaitForAppAndVersionDAOutput,\n WaitForAppAndVersionDARequiredInteraction,\n WaitForAppAndVersionDAState,\n} from \"@api/device-action/os/WaitForAppAndVersion/types\";\nexport { WaitForAppAndVersionDeviceAction } from \"@api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction\";\nexport { BackupAppStorageTask } from \"@api/device-action/task/BackupAppStorageTask\";\nexport {\n GetApplicationsMetadataTaskError,\n InvalidGetFirmwareMetadataResponseError,\n} from \"@api/device-action/task/Errors\";\nexport {\n type DeviceActionStateMachine,\n XStateDeviceAction,\n} from \"@api/device-action/xstate-utils/XStateDeviceAction\";\nexport { StaticDeviceModelDataSource } from \"@api/device-model/data/StaticDeviceModelDataSource\";\nexport { BleDeviceInfos } from \"@api/device-model/model/BleDeviceInfos\";\nexport { TransportDeviceModel } from \"@api/device-model/model/DeviceModel\";\nexport { ApduResponse } from \"@api/device-session/ApduResponse\";\nexport * from \"@api/device-session/data/FramerConst\";\nexport {\n type DeviceSessionState,\n DeviceSessionStateType,\n} from \"@api/device-session/DeviceSessionState\";\nexport {\n DmkResultFactory,\n DmkResultStatus,\n isSuccessDmkResult,\n} from \"@api/model/DmkResult\";\nexport { GenuineCheckDeviceAction } from \"@api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction\";\nexport { InstallAppDeviceAction } from \"@api/secure-channel/device-action/InstallApp/InstallAppDeviceAction\";\nexport { ListInstalledAppsDeviceAction } from \"@api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction\";\nexport type { InstalledApp } from \"@api/secure-channel/device-action/ListInstalledApps/types\";\nexport { UninstallAppDeviceAction } from \"@api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction\";\nexport {\n DMK_STORAGE_PREFIX_KEY,\n type KeyValueStorage,\n} from \"@api/storage/KeyValueStorage\";\nexport { SecureChannelError } from \"@internal/secure-channel/model/Errors\";\n// TODO: remove from exported\nexport { defaultApduReceiverServiceStubBuilder } from \"@api/device-session/service/DefaultApduReceiverService.stub\";\nexport { defaultApduSenderServiceStubBuilder } from \"@api/device-session/service/DefaultApduSenderService.stub\";\nexport { FramerUtils } from \"@api/device-session/utils/FramerUtils\";\nexport { DeviceManagementKit } from \"@api/DeviceManagementKit\";\nexport { DeviceManagementKitBuilder } from \"@api/DeviceManagementKitBuilder\";\nexport * from \"@api/Error\";\nexport {\n noopLogger,\n noopLoggerFactory,\n} from \"@api/logger-publisher/utils/noopLoggerFactory\";\nexport { LogLevel } from \"@api/logger-subscriber/model/LogLevel\";\nexport { ConsoleLogger } from \"@api/logger-subscriber/service/ConsoleLogger\";\nexport { DefaultLogTagFormatter } from \"@api/logger-subscriber/service/DefaultLogTagFormatter\";\nexport { type LogTagFormatter } from \"@api/logger-subscriber/service/LogTagFormatter\";\nexport { WebLogsExporterLogger } from \"@api/logger-subscriber/service/WebLogsExporterLogger\";\nexport {\n DmkNetworkClient,\n type DmkNetworkClientOptions,\n type DmkNetworkResponse,\n type DmkQueryParams,\n type DmkQueryParamValue,\n type DmkRequestConfig,\n type DmkResponseType,\n} from \"@api/network/DmkNetworkClient\";\nexport { DmkNetworkClientError } from \"@api/network/DmkNetworkClientError\";\nexport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nexport {\n DeviceConnectionStateMachine,\n type DeviceConnectionStateMachineParams,\n} from \"@api/transport/model/DeviceConnectionStateMachine\";\nexport * from \"@api/transport/model/Errors\";\nexport { TransportConnectedDevice } from \"@api/transport/model/TransportConnectedDevice\";\nexport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nexport * from \"@api/types\";\nexport { formatApduReceivedLog, formatApduSentLog } from \"@api/utils/apduLogs\";\nexport { ApplicationChecker } from \"@api/utils/ApplicationChecker\";\nexport {\n type AppConfig,\n type ApplicationResolver,\n type ResolvedApp,\n} from \"@api/utils/ApplicationResolver\";\nexport {\n base64StringToBuffer,\n bufferToBase64String,\n isBase64String,\n} from \"@api/utils/Base64String\";\nexport {\n bufferToHexaString,\n hexaStringToBuffer,\n isHexaString,\n} from \"@api/utils/HexaString\";\n"],
5
+ "mappings": "meAAA,IAAAA,EAAA,GAAAC,GAAAD,EAAA,sjKAAAE,GAAAF,GAEA,IAAAG,EAAqB,gCACrBC,EAA8C,uCAC9CC,EAA2B,sCAC3BC,EAAAN,EAAc,2CALd,gBAMA,IAAAO,EAAiC,4CACjCC,EAAgC,2CAEhCC,EAGO,+BACPC,EAIO,4CACPC,EAKO,gDACPC,EAAgC,2CAChCC,EAMO,qDACPC,EAGO,mDACPC,EAMO,oDACPC,EAMO,yDACPC,EAKO,mDACPC,EAGO,+CACPC,EAKO,2CACPC,EAOO,mDACPC,EAIO,kDACPC,EAGO,0CACPC,EAAmC,4CACnCC,EAA6B,2CAC7BC,EAIO,iDACPC,EAIO,mCACPC,EAA6B,oCAE7BC,EAGO,sDACPC,EAAwC,4DACxCC,EAA0C,qFAC1CC,EAA0C,uCAC1CtB,EASO,wCACPuB,EAA8C,iFAC9CC,EAA4C,6EAC5CC,EAA0C,yEAS1CC,EAAmD,2FACnDC,EAAgD,qFAChDC,EAAqC,+DACrCC,EAAiD,uFACjDC,EAAoC,yEACpCC,EAAoD,6FACpDC,EAA6C,2FAS7CC,GAAiD,uFACjDC,GAAqC,wDACrClC,EAGO,0CACPmC,GAGO,8DACPC,GAA4C,8DAC5CC,GAA+B,kDAC/BpB,GAAqC,+CACrCqB,GAA6B,4CAC7BzC,EAAAN,EAAc,gDA1Jd,gBA2JA,IAAAgD,GAGO,kDACPC,EAIO,gCACPC,GAAyC,mFACzCC,GAAuC,+EACvCC,GAA8C,6FAE9CC,GAAyC,mFACzCC,GAGO,wCACP7C,GAAmC,iDAEnC8C,GAAsD,uEACtDC,GAAoD,qEACpDC,GAA4B,iDAC5BC,GAAoC,oCACpCC,GAA2C,2CAC3CrD,EAAAN,EAAc,sBApLd,gBAqLA,IAAA4D,EAGO,yDACPC,GAAyB,iDACzBC,GAA8B,wDAC9BC,GAAuC,iEAEvCC,GAAsC,gEACtCC,GAQO,yCACPC,GAAsC,8CACtCC,GAAgC,gDAChCC,GAGO,6DACP9D,EAAAN,EAAc,uCA7Md,gBA8MA,IAAAqE,GAAyC,yDACzCA,GAA2C,8DAC3C/D,EAAAN,EAAc,sBAhNd,gBAiNA,IAAAsE,EAAyD,+BACzDC,GAAmC,yCAMnCC,EAIO,mCACPC,EAIO",
6
+ "names": ["api_exports", "__export", "__toCommonJS", "import_Apdu", "import_ApduBuilder", "import_ApduParser", "__reExport", "import_ByteArrayBuilder", "import_ByteArrayParser", "import_Errors", "import_CommandResult", "import_BackupStorageCommand", "import_CloseAppCommand", "import_DeleteLanguagePackCommand", "import_GetAppAndVersionCommand", "import_GetAppStorageInfoCommand", "import_GetBackgroundImageSizeCommand", "import_GetBatteryStatusCommand", "import_GetOsVersionCommand", "import_ListAppsCommand", "import_ListLanguagePackCommand", "import_LoadCertificateCommand", "import_OpenAppCommand", "import_CommandErrors", "import_CommandUtils", "import_GlobalCommandError", "import_DeviceModel", "import_DeviceStatus", "import_DeviceActionState", "import_UserInteractionRequired", "import_CallTaskInAppDeviceAction", "import_Const", "import_GetDeviceMetadataDeviceAction", "import_GetDeviceStatusDeviceAction", "import_GoToDashboardDeviceAction", "import_InstallLanguagePackageDeviceAction", "import_InstallOrUpdateAppsDeviceAction", "import_ListAppsDeviceAction", "import_ListAppsWithMetadataDeviceAction", "import_OpenAppDeviceAction", "import_OpenAppWithDependenciesDeviceAction", "import_SendCommandInAppDeviceAction", "import_WaitForAppAndVersionDeviceAction", "import_BackupAppStorageTask", "import_XStateDeviceAction", "import_StaticDeviceModelDataSource", "import_BleDeviceInfos", "import_ApduResponse", "import_DeviceSessionState", "import_DmkResult", "import_GenuineCheckDeviceAction", "import_InstallAppDeviceAction", "import_ListInstalledAppsDeviceAction", "import_UninstallAppDeviceAction", "import_KeyValueStorage", "import_DefaultApduReceiverService", "import_DefaultApduSenderService", "import_FramerUtils", "import_DeviceManagementKit", "import_DeviceManagementKitBuilder", "import_noopLoggerFactory", "import_LogLevel", "import_ConsoleLogger", "import_DefaultLogTagFormatter", "import_WebLogsExporterLogger", "import_DmkNetworkClient", "import_DmkNetworkClientError", "import_ConnectedDevice", "import_DeviceConnectionStateMachine", "import_TransportConnectedDevice", "import_apduLogs", "import_ApplicationChecker", "import_Base64String", "import_HexaString"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var o=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var e=Object.prototype.hasOwnProperty;var i=(O,s)=>{for(var n in s)o(O,n,{get:s[n],enumerable:!0})},r=(O,s,n,t)=>{if(s&&typeof s=="object"||typeof s=="function")for(let S of c(s))!e.call(O,S)&&S!==n&&o(O,S,{get:()=>s[S],enumerable:!(t=a(s,S))||t.enumerable});return O};var A=O=>r(o({},"__esModule",{value:!0}),O);var d={};i(d,{isDashboardName:()=>L});module.exports=A(d);const D=["BOLOS","OLOS","OLOS\0"],L=O=>D.includes(O);0&&(module.exports={isDashboardName});
1
+ "use strict";var t=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var e=(O,n)=>{for(var o in n)t(O,o,{get:n[o],enumerable:!0})},i=(O,n,o,S)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of c(n))!d.call(O,s)&&s!==o&&t(O,s,{get:()=>n[s],enumerable:!(S=u(n,s))||S.enumerable});return O};var r=O=>i(t({},"__esModule",{value:!0}),O);var E={};e(E,{LEDGER_OS_NAME:()=>l,isDashboardName:()=>D});module.exports=r(E);const l="BOLOS",A=[l,"OLOS","OLOS\0"],D=O=>O!=null&&A.includes(O);0&&(module.exports={LEDGER_OS_NAME,isDashboardName});
2
2
  //# sourceMappingURL=AppName.js.map