@ledgerhq/device-management-kit 1.5.1 → 1.7.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.
- package/lib/cjs/package.json +1 -2
- package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
- package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.js +2 -0
- package/lib/cjs/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.js +2 -0
- package/lib/cjs/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/WaitForAppAndVersion/types.js +2 -0
- package/lib/cjs/src/api/device-action/os/WaitForAppAndVersion/types.js.map +7 -0
- package/lib/cjs/src/api/index.js +1 -1
- package/lib/cjs/src/api/index.js.map +3 -3
- package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.js.map +2 -2
- package/lib/cjs/src/api/network/DmkNetworkClient.js +1 -1
- package/lib/cjs/src/api/network/DmkNetworkClient.js.map +3 -3
- package/lib/cjs/src/api/network/DmkNetworkClient.test.js +1 -1
- package/lib/cjs/src/api/network/DmkNetworkClient.test.js.map +3 -3
- package/lib/cjs/src/api/network/DmkNetworkClientError.js +1 -1
- package/lib/cjs/src/api/network/DmkNetworkClientError.js.map +2 -2
- package/lib/cjs/src/api/network/DmkNetworkClientHelpers.js +1 -1
- package/lib/cjs/src/api/network/DmkNetworkClientHelpers.js.map +3 -3
- package/lib/cjs/src/api/network/DmkNetworkClientHelpers.test.js +1 -1
- package/lib/cjs/src/api/network/DmkNetworkClientHelpers.test.js.map +3 -3
- package/lib/cjs/src/api/utils/AppName.js +1 -1
- package/lib/cjs/src/api/utils/AppName.js.map +3 -3
- package/lib/cjs/src/api/utils/Base64String.js +1 -1
- package/lib/cjs/src/api/utils/Base64String.js.map +3 -3
- package/lib/cjs/src/api/utils/Base64String.test.js +3 -1
- package/lib/cjs/src/api/utils/Base64String.test.js.map +3 -3
- package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +1 -1
- package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +3 -3
- package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +1 -1
- package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +2 -2
- package/lib/esm/package.json +1 -2
- package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
- package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +3 -3
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +3 -3
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.js +2 -0
- package/lib/esm/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.js.map +7 -0
- package/lib/esm/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.js +2 -0
- package/lib/esm/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.js.map +7 -0
- package/lib/esm/src/api/device-action/os/WaitForAppAndVersion/types.js +2 -0
- package/lib/esm/src/api/device-action/os/WaitForAppAndVersion/types.js.map +7 -0
- package/lib/esm/src/api/index.js +1 -1
- package/lib/esm/src/api/index.js.map +3 -3
- package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.js.map +2 -2
- package/lib/esm/src/api/network/DmkNetworkClient.js +1 -1
- package/lib/esm/src/api/network/DmkNetworkClient.js.map +3 -3
- package/lib/esm/src/api/network/DmkNetworkClient.test.js +1 -1
- package/lib/esm/src/api/network/DmkNetworkClient.test.js.map +3 -3
- package/lib/esm/src/api/network/DmkNetworkClientError.js +1 -1
- package/lib/esm/src/api/network/DmkNetworkClientError.js.map +2 -2
- package/lib/esm/src/api/network/DmkNetworkClientHelpers.js +1 -1
- package/lib/esm/src/api/network/DmkNetworkClientHelpers.js.map +3 -3
- package/lib/esm/src/api/network/DmkNetworkClientHelpers.test.js +1 -1
- package/lib/esm/src/api/network/DmkNetworkClientHelpers.test.js.map +3 -3
- package/lib/esm/src/api/utils/AppName.js +1 -1
- package/lib/esm/src/api/utils/AppName.js.map +3 -3
- package/lib/esm/src/api/utils/Base64String.js +1 -1
- package/lib/esm/src/api/utils/Base64String.js.map +3 -3
- package/lib/esm/src/api/utils/Base64String.test.js +3 -1
- package/lib/esm/src/api/utils/Base64String.test.js.map +3 -3
- package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +1 -1
- package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +3 -3
- package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +1 -1
- package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +2 -2
- package/lib/types/src/api/command/os/__mocks__/GetOsVersionCommand.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.d.ts +3 -1
- package/lib/types/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.d.ts +0 -1
- package/lib/types/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.d.ts +25 -0
- package/lib/types/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.d.ts.map +1 -0
- package/lib/types/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.d.ts +2 -0
- package/lib/types/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.d.ts.map +1 -0
- package/lib/types/src/api/device-action/os/WaitForAppAndVersion/types.d.ts +22 -0
- package/lib/types/src/api/device-action/os/WaitForAppAndVersion/types.d.ts.map +1 -0
- package/lib/types/src/api/index.d.ts +2 -0
- package/lib/types/src/api/index.d.ts.map +1 -1
- package/lib/types/src/api/logger-subscriber/service/WebLogsExporterLogger.d.ts.map +1 -1
- package/lib/types/src/api/network/DmkNetworkClient.d.ts +1 -6
- package/lib/types/src/api/network/DmkNetworkClient.d.ts.map +1 -1
- package/lib/types/src/api/network/DmkNetworkClientError.d.ts +2 -6
- package/lib/types/src/api/network/DmkNetworkClientError.d.ts.map +1 -1
- package/lib/types/src/api/network/DmkNetworkClientHelpers.d.ts +10 -7
- package/lib/types/src/api/network/DmkNetworkClientHelpers.d.ts.map +1 -1
- package/lib/types/src/api/utils/AppName.d.ts +2 -1
- package/lib/types/src/api/utils/AppName.d.ts.map +1 -1
- package/lib/types/src/api/utils/Base64String.d.ts.map +1 -1
- package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts.map +1 -1
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +2 -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
|
+
}
|
package/lib/cjs/src/api/index.js
CHANGED
|
@@ -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
|
-
"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,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/api/logger-subscriber/service/WebLogsExporterLogger.ts"],
|
|
4
|
-
"sourcesContent": ["import { LogLevel } from \"@api/logger-subscriber/model/LogLevel\";\nimport { type LogSubscriberOptions } from \"@api/types\";\nimport { DeviceSession } from \"@internal/device-session/model/DeviceSession\";\n\nimport { type LoggerSubscriberService } from \"./LoggerSubscriberService\";\n\n/**\n * This function is used to format the logs to JSON format,\n * remove circular dependencies and do some extra formatting.\n * */\nexport function getJSONStringifyReplacer(): (\n key: string,\n value: unknown,\n) => unknown {\n const ancestors: unknown[] = [];\n return function (_: string, value: unknown): unknown {\n // format Uint8Array values to more readable format\n if (value instanceof Uint8Array) {\n const bytesHex = Array.from(value).map((x) =>\n x.toString(16).padStart(2, \"0\"),\n );\n return {\n hex: \"0x\" + bytesHex.join(\"\"),\n readableHex: bytesHex.join(\" \"),\n value: value.toString(),\n };\n }\n\n // format DeviceSession values to avoid huge object in logs\n if (value instanceof DeviceSession) {\n const {\n connectedDevice: { deviceModel, type, id },\n } = value;\n return {\n id: value.id,\n connectedDevice: {\n deviceModel,\n type,\n id,\n },\n };\n }\n\n // format circular references to \"[Circular]\"\n // Taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Cyclic_object_value#circular_references\n if (typeof value !== \"object\" || value === null) {\n return value;\n }\n // `this` is the object that value is contained in,\n // i.e., its direct parent.\n // @ts-expect-error cf. comment above\n while (ancestors.length > 0 && ancestors.at(-1) !== (this as unknown)) {\n ancestors.pop();\n }\n if (ancestors.includes(value)) {\n return \"[Circular]\";\n }\n ancestors.push(value);\n return value;\n };\n}\n\nexport class WebLogsExporterLogger implements LoggerSubscriberService {\n private logs: Array<\n [level: LogLevel, message: string, options: LogSubscriberOptions]\n > = [];\n\n log(level: LogLevel, message: string, options: LogSubscriberOptions): void {\n this.logs.push([level, message, options]);\n }\n\n private formatLogsToJSON(): string {\n const remappedLogs = this.logs.map(([level, message, options]) => {\n const { timestamp, ...restOptions } = options;\n return {\n level: LogLevel[level],\n message,\n options: {\n ...restOptions,\n date: new Date(options.timestamp),\n },\n };\n });\n\n return JSON.stringify(remappedLogs, getJSONStringifyReplacer(), 2);\n }\n\n /**\n * Export logs to JSON file.\n */\n public exportLogsToJSON(): void {\n const logs = this.formatLogsToJSON();\n const blob = new Blob([logs], { type: \"application/json\" });\n const url = URL.createObjectURL(blob);\n const a = document.createElement(\"a\");\n a.href = url;\n a.download = `ledger-device-management-kit-logs-${new Date().toISOString()}.json`;\n a.click();\n }\n}\n"],
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,2BAAAE,EAAA,6BAAAC,IAAA,eAAAC,EAAAJ,GAAA,IAAAK,EAAyB,iDAEzBC,EAA8B,wDAQvB,SAASH,GAGH,CACX,MAAMI,EAAuB,CAAC,EAC9B,OAAO,SAAUC,EAAWC,EAAyB,CAEnD,GAAIA,aAAiB,WAAY,CAC/B,MAAMC,EAAW,MAAM,KAAKD,CAAK,EAAE,IAAKE,GACtCA,EAAE,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CAChC,EACA,MAAO,CACL,IAAK,KAAOD,EAAS,KAAK,EAAE,EAC5B,YAAaA,EAAS,KAAK,GAAG,EAC9B,MAAOD,EAAM,SAAS,CACxB,CACF,CAGA,GAAIA,aAAiB,gBAAe,CAClC,KAAM,CACJ,gBAAiB,CAAE,YAAAG,EAAa,KAAAC,EAAM,GAAAC,CAAG,CAC3C,EAAIL,EACJ,MAAO,CACL,GAAIA,EAAM,GACV,gBAAiB,CACf,YAAAG,EACA,KAAAC,EACA,GAAAC,CACF,CACF,CACF,CAIA,GAAI,OAAOL,GAAU,UAAYA,IAAU,KACzC,OAAOA,EAKT,KAAOF,EAAU,OAAS,GAAKA,EAAU,GAAG,EAAE,IAAO,MACnDA,EAAU,IAAI,EAEhB,OAAIA,EAAU,SAASE,CAAK,EACnB,cAETF,EAAU,KAAKE,CAAK,EACbA,EACT,CACF,CAEO,MAAMP,CAAyD,CAC5D,KAEJ,CAAC,EAEL,IAAIa,EAAiBC,EAAiBC,EAAqC,CACzE,KAAK,KAAK,KAAK,CAACF,EAAOC,EAASC,CAAO,CAAC,CAC1C,CAEQ,kBAA2B,CACjC,MAAMC,EAAe,KAAK,KAAK,IAAI,CAAC,CAACH,EAAOC,EAASC,CAAO,IAAM,CAChE,KAAM,CAAE,UAAAE,EAAW,GAAGC,CAAY,EAAIH,EACtC,MAAO,CACL,MAAO,WAASF,CAAK,EACrB,QAAAC,EACA,QAAS,CACP,GAAGI,EACH,KAAM,IAAI,KAAKH,EAAQ,SAAS,CAClC,CACF,CACF,CAAC,EAED,OAAO,KAAK,UAAUC,EAAcf,EAAyB,EAAG,CAAC,CACnE,CAKO,kBAAyB,CAC9B,MAAMkB,EAAO,KAAK,iBAAiB,
|
|
4
|
+
"sourcesContent": ["import { LogLevel } from \"@api/logger-subscriber/model/LogLevel\";\nimport { type LogSubscriberOptions } from \"@api/types\";\nimport { DeviceSession } from \"@internal/device-session/model/DeviceSession\";\n\nimport { type LoggerSubscriberService } from \"./LoggerSubscriberService\";\n\n/**\n * This function is used to format the logs to JSON format,\n * remove circular dependencies and do some extra formatting.\n * */\nexport function getJSONStringifyReplacer(): (\n key: string,\n value: unknown,\n) => unknown {\n const ancestors: unknown[] = [];\n return function (_: string, value: unknown): unknown {\n // format Uint8Array values to more readable format\n if (value instanceof Uint8Array) {\n const bytesHex = Array.from(value).map((x) =>\n x.toString(16).padStart(2, \"0\"),\n );\n return {\n hex: \"0x\" + bytesHex.join(\"\"),\n readableHex: bytesHex.join(\" \"),\n value: value.toString(),\n };\n }\n\n // format DeviceSession values to avoid huge object in logs\n if (value instanceof DeviceSession) {\n const {\n connectedDevice: { deviceModel, type, id },\n } = value;\n return {\n id: value.id,\n connectedDevice: {\n deviceModel,\n type,\n id,\n },\n };\n }\n\n // format circular references to \"[Circular]\"\n // Taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Cyclic_object_value#circular_references\n if (typeof value !== \"object\" || value === null) {\n return value;\n }\n // `this` is the object that value is contained in,\n // i.e., its direct parent.\n // @ts-expect-error cf. comment above\n while (ancestors.length > 0 && ancestors.at(-1) !== (this as unknown)) {\n ancestors.pop();\n }\n if (ancestors.includes(value)) {\n return \"[Circular]\";\n }\n ancestors.push(value);\n return value;\n };\n}\n\nexport class WebLogsExporterLogger implements LoggerSubscriberService {\n private logs: Array<\n [level: LogLevel, message: string, options: LogSubscriberOptions]\n > = [];\n\n log(level: LogLevel, message: string, options: LogSubscriberOptions): void {\n this.logs.push([level, message, options]);\n }\n\n private formatLogsToJSON(): string {\n const remappedLogs = this.logs.map(([level, message, options]) => {\n const { timestamp, ...restOptions } = options;\n return {\n level: LogLevel[level],\n message,\n options: {\n ...restOptions,\n date: new Date(options.timestamp),\n },\n };\n });\n\n return JSON.stringify(remappedLogs, getJSONStringifyReplacer(), 2);\n }\n\n /**\n * Export logs to JSON file.\n */\n public exportLogsToJSON(): void {\n const logs = this.formatLogsToJSON();\n /* eslint-disable no-restricted-globals -- Browser-only log export path uses Blob URLs to trigger a JSON file download. */\n const blob = new Blob([logs], { type: \"application/json\" });\n const url = URL.createObjectURL(blob);\n /* eslint-enable no-restricted-globals */\n const a = document.createElement(\"a\");\n a.href = url;\n a.download = `ledger-device-management-kit-logs-${new Date().toISOString()}.json`;\n a.click();\n }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,2BAAAE,EAAA,6BAAAC,IAAA,eAAAC,EAAAJ,GAAA,IAAAK,EAAyB,iDAEzBC,EAA8B,wDAQvB,SAASH,GAGH,CACX,MAAMI,EAAuB,CAAC,EAC9B,OAAO,SAAUC,EAAWC,EAAyB,CAEnD,GAAIA,aAAiB,WAAY,CAC/B,MAAMC,EAAW,MAAM,KAAKD,CAAK,EAAE,IAAKE,GACtCA,EAAE,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CAChC,EACA,MAAO,CACL,IAAK,KAAOD,EAAS,KAAK,EAAE,EAC5B,YAAaA,EAAS,KAAK,GAAG,EAC9B,MAAOD,EAAM,SAAS,CACxB,CACF,CAGA,GAAIA,aAAiB,gBAAe,CAClC,KAAM,CACJ,gBAAiB,CAAE,YAAAG,EAAa,KAAAC,EAAM,GAAAC,CAAG,CAC3C,EAAIL,EACJ,MAAO,CACL,GAAIA,EAAM,GACV,gBAAiB,CACf,YAAAG,EACA,KAAAC,EACA,GAAAC,CACF,CACF,CACF,CAIA,GAAI,OAAOL,GAAU,UAAYA,IAAU,KACzC,OAAOA,EAKT,KAAOF,EAAU,OAAS,GAAKA,EAAU,GAAG,EAAE,IAAO,MACnDA,EAAU,IAAI,EAEhB,OAAIA,EAAU,SAASE,CAAK,EACnB,cAETF,EAAU,KAAKE,CAAK,EACbA,EACT,CACF,CAEO,MAAMP,CAAyD,CAC5D,KAEJ,CAAC,EAEL,IAAIa,EAAiBC,EAAiBC,EAAqC,CACzE,KAAK,KAAK,KAAK,CAACF,EAAOC,EAASC,CAAO,CAAC,CAC1C,CAEQ,kBAA2B,CACjC,MAAMC,EAAe,KAAK,KAAK,IAAI,CAAC,CAACH,EAAOC,EAASC,CAAO,IAAM,CAChE,KAAM,CAAE,UAAAE,EAAW,GAAGC,CAAY,EAAIH,EACtC,MAAO,CACL,MAAO,WAASF,CAAK,EACrB,QAAAC,EACA,QAAS,CACP,GAAGI,EACH,KAAM,IAAI,KAAKH,EAAQ,SAAS,CAClC,CACF,CACF,CAAC,EAED,OAAO,KAAK,UAAUC,EAAcf,EAAyB,EAAG,CAAC,CACnE,CAKO,kBAAyB,CAC9B,MAAMkB,EAAO,KAAK,iBAAiB,EAE7BC,EAAO,IAAI,KAAK,CAACD,CAAI,EAAG,CAAE,KAAM,kBAAmB,CAAC,EACpDE,EAAM,IAAI,gBAAgBD,CAAI,EAE9BE,EAAI,SAAS,cAAc,GAAG,EACpCA,EAAE,KAAOD,EACTC,EAAE,SAAW,qCAAqC,IAAI,KAAK,EAAE,YAAY,CAAC,QAC1EA,EAAE,MAAM,CACV,CACF",
|
|
6
6
|
"names": ["WebLogsExporterLogger_exports", "__export", "WebLogsExporterLogger", "getJSONStringifyReplacer", "__toCommonJS", "import_LogLevel", "import_DeviceSession", "ancestors", "_", "value", "bytesHex", "x", "deviceModel", "type", "id", "level", "message", "options", "remappedLogs", "timestamp", "restOptions", "logs", "blob", "url", "a"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var i=Object.defineProperty;var
|
|
1
|
+
"use strict";var i=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var b=(a,e)=>{for(var t in e)i(a,t,{get:e[t],enumerable:!0})},w=(a,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of y(e))!c.call(a,r)&&r!==t&&i(a,r,{get:()=>e[r],enumerable:!(s=k(e,r))||s.enumerable});return a};var g=a=>w(i({},"__esModule",{value:!0}),a);var f={};b(f,{DmkNetworkClient:()=>D});module.exports=g(f);var p=require("./DmkNetworkClientError"),o=require("./DmkNetworkClientHelpers");class D{baseUrl;defaultHeaders;fetchImpl;constructor(e={}){this.baseUrl=e.baseUrl,this.defaultHeaders=e.headers??{},this.fetchImpl=e.fetch}getFetch(){return this.fetchImpl??globalThis.fetch.bind(globalThis)}get(e,t){return this.request({...t,method:"GET",url:e}).then(s=>s.data)}post(e,t,s){return this.request({...s,method:"POST",url:e,body:t}).then(r=>r.data)}put(e,t,s){return this.request({...s,method:"PUT",url:e,body:t}).then(r=>r.data)}patch(e,t,s){return this.request({...s,method:"PATCH",url:e,body:t}).then(r=>r.data)}delete(e,t){return this.request({...t,method:"DELETE",url:e}).then(s=>s.data)}head(e,t){return this.request({...t,method:"HEAD",url:e,responseType:"void"}).then(()=>{})}async request(e){const t=(0,o.buildUrl)({url:e.url,params:e.params,baseUrl:this.baseUrl}),{body:s,headers:r}=(0,o.buildBodyAndHeaders)({method:e.method,body:e.body,defaultHeaders:this.defaultHeaders,perRequestHeaders:e.headers}),{signal:m,cleanup:d}=(0,o.buildSignal)({timeoutMs:e.timeoutMs}),h=e.throwOnHttpError??!0,l=e.responseType??"json";try{let n;try{n=await this.getFetch()(t,{method:e.method,headers:r,body:s,signal:m})}catch(u){throw(0,o.wrapFetchError)({cause:u,timeoutMs:e.timeoutMs})}if(!n.ok&&h){const u=await(0,o.safeReadText)(n);throw new p.DmkNetworkClientError({message:`HTTP error ${n.status} ${n.statusText}`.trim(),status:n.status,statusText:n.statusText,responseBody:u})}return{data:await(0,o.parseBody)(n,l),status:n.status,statusText:n.statusText,headers:n.headers,ok:n.ok}}finally{d()}}}0&&(module.exports={DmkNetworkClient});
|
|
2
2
|
//# sourceMappingURL=DmkNetworkClient.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/api/network/DmkNetworkClient.ts"],
|
|
4
|
-
"sourcesContent": ["import { DmkNetworkClientError } from \"./DmkNetworkClientError\";\nimport {\n buildBodyAndHeaders,\n buildSignal,\n buildUrl,\n type DmkQueryParams,\n type DmkResponseType,\n parseBody,\n safeReadText,\n wrapFetchError,\n} from \"./DmkNetworkClientHelpers\";\n\nexport type { DmkQueryParamValue } from \"./DmkNetworkClientHelpers\";\nexport type { DmkQueryParams, DmkResponseType };\n\n/**\n * Per-request configuration. Everything is optional \u2014 sensible defaults are\n * applied by the client.\n */\nexport type DmkRequestConfig = {\n /** Query params merged into the URL. `null`/`undefined` entries are skipped. */\n params?: DmkQueryParams;\n /** Per-request headers merged on top of the client's default headers. */\n headers?: Record<string, string>;\n /**\n * Per-request timeout in milliseconds. When unset (or `0`), the request\n * has no timeout.\n */\n timeoutMs?: number;\n /**\n *
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,sBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAsC,mCACtCC,EASO,
|
|
6
|
-
"names": ["DmkNetworkClient_exports", "__export", "DmkNetworkClient", "__toCommonJS", "import_DmkNetworkClientError", "import_DmkNetworkClientHelpers", "options", "url", "config", "res", "body", "headers", "signal", "throwOnHttpError", "responseType", "response", "cause", "responseBody"]
|
|
4
|
+
"sourcesContent": ["import { DmkNetworkClientError } from \"./DmkNetworkClientError\";\nimport {\n buildBodyAndHeaders,\n buildSignal,\n buildUrl,\n type DmkQueryParams,\n type DmkResponseType,\n parseBody,\n safeReadText,\n wrapFetchError,\n} from \"./DmkNetworkClientHelpers\";\n\nexport type { DmkQueryParamValue } from \"./DmkNetworkClientHelpers\";\nexport type { DmkQueryParams, DmkResponseType };\n\n/**\n * Per-request configuration. Everything is optional \u2014 sensible defaults are\n * applied by the client.\n */\nexport type DmkRequestConfig = {\n /** Query params merged into the URL. `null`/`undefined` entries are skipped. */\n params?: DmkQueryParams;\n /** Per-request headers merged on top of the client's default headers. */\n headers?: Record<string, string>;\n /**\n * Per-request timeout in milliseconds. When unset (or `0`), the request\n * has no timeout.\n */\n timeoutMs?: number;\n /**\n * How to parse the response body. Defaults to `\"json\"`, except for `head`\n * which always resolves to `void`.\n */\n responseType?: DmkResponseType;\n /**\n * When `true` (default), non-2xx responses throw {@link DmkNetworkClientError}.\n * Set to `false` to resolve normally and inspect {@link DmkNetworkResponse}\n * via {@link DmkNetworkClient.request}.\n */\n throwOnHttpError?: boolean;\n};\n\n/**\n * Full response envelope returned by {@link DmkNetworkClient.request}.\n * The simple method helpers (`get`, `post`, \u2026) unwrap to `data` directly.\n *\n * `data` is intentionally typed as `unknown`: network payloads are untrusted\n * input, so callers must narrow it with a type guard or runtime validator\n * (e.g. the existing DTO mappers) before use.\n */\nexport type DmkNetworkResponse = {\n data: unknown;\n status: number;\n statusText: string;\n headers: Headers;\n ok: boolean;\n};\n\nexport type DmkNetworkClientOptions = {\n /** Base URL prepended to relative request URLs. */\n baseUrl?: string;\n /** Default headers merged into every request. */\n headers?: Record<string, string>;\n /** Injection point for tests. Defaults to `globalThis.fetch`. */\n fetch?: typeof fetch;\n};\n\ntype InternalRequestConfig = DmkRequestConfig & {\n method: string;\n url: string;\n body?: unknown;\n};\n\n/**\n * Minimal axios-like wrapper over `fetch`. Handles:\n *\n * - URL composition (base URL + relative path + query params from an object)\n * - Automatic JSON body encoding and `Content-Type` header\n * - Default and per-request headers merging\n * - Request timeout via `AbortController`\n * - Automatic `response.ok` check with a typed {@link DmkNetworkClientError}\n * - Typed JSON / text / blob / arrayBuffer response parsing\n *\n * Use the high-level helpers ({@link DmkNetworkClient.get}, {@link DmkNetworkClient.post},\n * \u2026) for 95% of calls and {@link DmkNetworkClient.request} when you need the\n * full response envelope (status, headers).\n */\nexport class DmkNetworkClient {\n private readonly baseUrl?: string;\n private readonly defaultHeaders: Record<string, string>;\n private readonly fetchImpl?: typeof fetch;\n\n constructor(options: DmkNetworkClientOptions = {}) {\n this.baseUrl = options.baseUrl;\n this.defaultHeaders = options.headers ?? {};\n this.fetchImpl = options.fetch;\n }\n\n private getFetch(): typeof fetch {\n // Resolve `fetch` at call time so that spies installed on `globalThis.fetch`\n // after the client was constructed are still honored.\n return this.fetchImpl ?? globalThis.fetch.bind(globalThis);\n }\n\n public get(url: string, config?: DmkRequestConfig): Promise<unknown> {\n return this.request({ ...config, method: \"GET\", url }).then(\n (res) => res.data,\n );\n }\n\n public post(\n url: string,\n body?: unknown,\n config?: DmkRequestConfig,\n ): Promise<unknown> {\n return this.request({ ...config, method: \"POST\", url, body }).then(\n (res) => res.data,\n );\n }\n\n public put(\n url: string,\n body?: unknown,\n config?: DmkRequestConfig,\n ): Promise<unknown> {\n return this.request({ ...config, method: \"PUT\", url, body }).then(\n (res) => res.data,\n );\n }\n\n public patch(\n url: string,\n body?: unknown,\n config?: DmkRequestConfig,\n ): Promise<unknown> {\n return this.request({ ...config, method: \"PATCH\", url, body }).then(\n (res) => res.data,\n );\n }\n\n public delete(url: string, config?: DmkRequestConfig): Promise<unknown> {\n return this.request({ ...config, method: \"DELETE\", url }).then(\n (res) => res.data,\n );\n }\n\n public head(url: string, config?: DmkRequestConfig): Promise<void> {\n return this.request({\n ...config,\n method: \"HEAD\",\n url,\n responseType: \"void\",\n }).then(() => undefined);\n }\n\n /**\n * Escape hatch returning the full response envelope (status, headers, data).\n * Most callers should prefer {@link get}, {@link post}, etc.\n *\n * `data` is `unknown` by design; validate it with a type guard before use.\n */\n public async request(\n config: InternalRequestConfig,\n ): Promise<DmkNetworkResponse> {\n const url = buildUrl({\n url: config.url,\n params: config.params,\n baseUrl: this.baseUrl,\n });\n const { body, headers } = buildBodyAndHeaders({\n method: config.method,\n body: config.body,\n defaultHeaders: this.defaultHeaders,\n perRequestHeaders: config.headers,\n });\n const { signal, cleanup } = buildSignal({\n timeoutMs: config.timeoutMs,\n });\n const throwOnHttpError = config.throwOnHttpError ?? true;\n const responseType: DmkResponseType = config.responseType ?? \"json\";\n\n try {\n let response: Response;\n try {\n response = await this.getFetch()(url, {\n method: config.method,\n headers,\n body,\n signal,\n });\n } catch (cause) {\n throw wrapFetchError({\n cause,\n timeoutMs: config.timeoutMs,\n });\n }\n\n if (!response.ok && throwOnHttpError) {\n const responseBody = await safeReadText(response);\n throw new DmkNetworkClientError({\n message:\n `HTTP error ${response.status} ${response.statusText}`.trim(),\n status: response.status,\n statusText: response.statusText,\n responseBody,\n });\n }\n\n const data = await parseBody(response, responseType);\n\n return {\n data,\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n ok: response.ok,\n };\n } finally {\n cleanup();\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,sBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAsC,mCACtCC,EASO,qCA6EA,MAAMH,CAAiB,CACX,QACA,eACA,UAEjB,YAAYI,EAAmC,CAAC,EAAG,CACjD,KAAK,QAAUA,EAAQ,QACvB,KAAK,eAAiBA,EAAQ,SAAW,CAAC,EAC1C,KAAK,UAAYA,EAAQ,KAC3B,CAEQ,UAAyB,CAG/B,OAAO,KAAK,WAAa,WAAW,MAAM,KAAK,UAAU,CAC3D,CAEO,IAAIC,EAAaC,EAA6C,CACnE,OAAO,KAAK,QAAQ,CAAE,GAAGA,EAAQ,OAAQ,MAAO,IAAAD,CAAI,CAAC,EAAE,KACpDE,GAAQA,EAAI,IACf,CACF,CAEO,KACLF,EACAG,EACAF,EACkB,CAClB,OAAO,KAAK,QAAQ,CAAE,GAAGA,EAAQ,OAAQ,OAAQ,IAAAD,EAAK,KAAAG,CAAK,CAAC,EAAE,KAC3DD,GAAQA,EAAI,IACf,CACF,CAEO,IACLF,EACAG,EACAF,EACkB,CAClB,OAAO,KAAK,QAAQ,CAAE,GAAGA,EAAQ,OAAQ,MAAO,IAAAD,EAAK,KAAAG,CAAK,CAAC,EAAE,KAC1DD,GAAQA,EAAI,IACf,CACF,CAEO,MACLF,EACAG,EACAF,EACkB,CAClB,OAAO,KAAK,QAAQ,CAAE,GAAGA,EAAQ,OAAQ,QAAS,IAAAD,EAAK,KAAAG,CAAK,CAAC,EAAE,KAC5DD,GAAQA,EAAI,IACf,CACF,CAEO,OAAOF,EAAaC,EAA6C,CACtE,OAAO,KAAK,QAAQ,CAAE,GAAGA,EAAQ,OAAQ,SAAU,IAAAD,CAAI,CAAC,EAAE,KACvDE,GAAQA,EAAI,IACf,CACF,CAEO,KAAKF,EAAaC,EAA0C,CACjE,OAAO,KAAK,QAAQ,CAClB,GAAGA,EACH,OAAQ,OACR,IAAAD,EACA,aAAc,MAChB,CAAC,EAAE,KAAK,IAAG,EAAY,CACzB,CAQA,MAAa,QACXC,EAC6B,CAC7B,MAAMD,KAAM,YAAS,CACnB,IAAKC,EAAO,IACZ,OAAQA,EAAO,OACf,QAAS,KAAK,OAChB,CAAC,EACK,CAAE,KAAAE,EAAM,QAAAC,CAAQ,KAAI,uBAAoB,CAC5C,OAAQH,EAAO,OACf,KAAMA,EAAO,KACb,eAAgB,KAAK,eACrB,kBAAmBA,EAAO,OAC5B,CAAC,EACK,CAAE,OAAAI,EAAQ,QAAAC,CAAQ,KAAI,eAAY,CACtC,UAAWL,EAAO,SACpB,CAAC,EACKM,EAAmBN,EAAO,kBAAoB,GAC9CO,EAAgCP,EAAO,cAAgB,OAE7D,GAAI,CACF,IAAIQ,EACJ,GAAI,CACFA,EAAW,MAAM,KAAK,SAAS,EAAET,EAAK,CACpC,OAAQC,EAAO,OACf,QAAAG,EACA,KAAAD,EACA,OAAAE,CACF,CAAC,CACH,OAASK,EAAO,CACd,QAAM,kBAAe,CACnB,MAAAA,EACA,UAAWT,EAAO,SACpB,CAAC,CACH,CAEA,GAAI,CAACQ,EAAS,IAAMF,EAAkB,CACpC,MAAMI,EAAe,QAAM,gBAAaF,CAAQ,EAChD,MAAM,IAAI,wBAAsB,CAC9B,QACE,cAAcA,EAAS,MAAM,IAAIA,EAAS,UAAU,GAAG,KAAK,EAC9D,OAAQA,EAAS,OACjB,WAAYA,EAAS,WACrB,aAAAE,CACF,CAAC,CACH,CAIA,MAAO,CACL,KAHW,QAAM,aAAUF,EAAUD,CAAY,EAIjD,OAAQC,EAAS,OACjB,WAAYA,EAAS,WACrB,QAASA,EAAS,QAClB,GAAIA,EAAS,EACf,CACF,QAAE,CACAH,EAAQ,CACV,CACF,CACF",
|
|
6
|
+
"names": ["DmkNetworkClient_exports", "__export", "DmkNetworkClient", "__toCommonJS", "import_DmkNetworkClientError", "import_DmkNetworkClientHelpers", "options", "url", "config", "res", "body", "headers", "signal", "cleanup", "throwOnHttpError", "responseType", "response", "cause", "responseBody"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var c=require("./DmkNetworkClient"),i=require("./DmkNetworkClientError");describe("DmkNetworkClient",()=>{const n=(e,o={})=>new Response(JSON.stringify(e),{status:200,headers:{"Content-Type":"application/json"},...o});describe("URL composition",()=>{it("should send requests to an absolute URL as-is",async()=>{const e=vi.fn().mockResolvedValue(n({ok:!0}));await new c.DmkNetworkClient({fetch:e}).get("https://api.example.com/items");const[t]=e.mock.calls[0];expect(typeof t).toBe("string"),expect(t).toBe("https://api.example.com/items")}),it("should prepend baseUrl to relative paths with slash normalization",async()=>{const e=vi.fn().mockImplementation(()=>Promise.resolve(n({ok:!0}))),o=new c.DmkNetworkClient({baseUrl:"https://api.example.com/",fetch:e});await o.get("/items"),await o.get("items"),expect(e.mock.calls[0][0]).toBe("https://api.example.com/items"),expect(e.mock.calls[1][0]).toBe("https://api.example.com/items")}),it("should set URL search params from the config",async()=>{const e=vi.fn().mockResolvedValue(n({ok:!0}));await new c.DmkNetworkClient({fetch:e}).get("https://api.example.com/items",{params:{chain:1,contract:"0xabc",active:!0,skip:null,alsoSkip:void 0}});const t=e.mock.calls[0][0];expect(typeof t).toBe("string");const s=new URL(t);expect(s.searchParams.get("chain")).toBe("1"),expect(s.searchParams.get("contract")).toBe("0xabc"),expect(s.searchParams.get("active")).toBe("true"),expect(s.searchParams.has("skip")).toBe(!1),expect(s.searchParams.has("alsoSkip")).toBe(!1)}),it("should pass a plain string URL to fetch with no trailing slash after the query (facebook/react-native#54242)",async()=>{const e=vi.fn().mockResolvedValue(n({ok:!0}));await new c.DmkNetworkClient({fetch:e}).get("https://manager.api.live.ledger.com/api/get_device_version",{params:{target_id:858783748,provider:1}});const[t]=e.mock.calls[0];expect(typeof t).toBe("string"),expect(t).toBe("https://manager.api.live.ledger.com/api/get_device_version?target_id=858783748&provider=1"),expect(t.endsWith("/")).toBe(!1)})}),describe("headers",()=>{it("should merge default and per-request headers",async()=>{const e=vi.fn().mockResolvedValue(n({ok:!0}));await new c.DmkNetworkClient({fetch:e,headers:{"X-Default":"default","X-Shared":"from-default"}}).get("https://api.example.com/items",{headers:{"X-Shared":"overridden","X-Per-Request":"per"}});const t=e.mock.calls[0][1];expect(t.headers).toMatchObject({"X-Default":"default","X-Shared":"overridden","X-Per-Request":"per"})})}),describe("body handling",()=>{it("should JSON-stringify plain-object bodies and set Content-Type",async()=>{const e=vi.fn().mockResolvedValue(n({ok:!0}));await new c.DmkNetworkClient({fetch:e}).post("https://api.example.com/items",{foo:"bar"});const t=e.mock.calls[0][1];expect(t.method).toBe("POST"),expect(t.body).toBe(JSON.stringify({foo:"bar"})),expect(t.headers).toMatchObject({"Content-Type":"application/json"})}),it("should not override an explicit Content-Type header",async()=>{const e=vi.fn().mockResolvedValue(n({ok:!0}));await new c.DmkNetworkClient({fetch:e}).post("https://api.example.com/items",{foo:"bar"},{headers:{"content-type":"application/vnd.custom+json"}});const t=e.mock.calls[0][1];expect(t.headers).toMatchObject({"content-type":"application/vnd.custom+json"})}),it("should pass raw BodyInit values through unchanged",async()=>{const e=vi.fn().mockResolvedValue(n({ok:!0})),o=new c.DmkNetworkClient({fetch:e}),t=new FormData;t.set("field","value"),await o.post("https://api.example.com/items",t);const s=e.mock.calls[0][1];expect(s.body).toBe(t),expect(s.headers).not.toMatchObject({"Content-Type":"application/json"})}),it("should not send a body on GET or HEAD",async()=>{const e=vi.fn().mockImplementation(()=>Promise.resolve(n({ok:!0}))),o=new c.DmkNetworkClient({fetch:e});await o.get("https://api.example.com/items"),await o.head("https://api.example.com/items"),expect(e.mock.calls[0][1]).toMatchObject({body:void 0}),expect(e.mock.calls[1][1]).toMatchObject({body:void 0})})}),describe("response parsing",()=>{it("should return the parsed JSON body by default",async()=>{const e=vi.fn().mockResolvedValue(n({hello:"world"})),t=await new c.DmkNetworkClient({fetch:e}).get("https://api.example.com/items");expect(t).toEqual({hello:"world"})}),it("should return text when responseType is 'text'",async()=>{const e=vi.fn().mockResolvedValue(new Response("plain-body",{status:200})),t=await new c.DmkNetworkClient({fetch:e}).get("https://api.example.com/items",{responseType:"text"});expect(t).toBe("plain-body")}),it("should resolve HEAD to void without reading the body",async()=>{const e=vi.fn().mockResolvedValue(new Response(null,{status:200})),t=await new c.DmkNetworkClient({fetch:e}).head("https://api.example.com/items");expect(t).toBeUndefined()}),it("should resolve empty JSON body to undefined",async()=>{const e=vi.fn().mockResolvedValue(new Response(null,{status:204})),t=await new c.DmkNetworkClient({fetch:e}).get("https://api.example.com/items");expect(t).toBeUndefined()}),it("should throw a DmkNetworkClientError on malformed JSON",async()=>{const e=vi.fn().mockResolvedValue(new Response("not-json",{status:200})),o=new c.DmkNetworkClient({fetch:e});await expect(o.get("https://api.example.com/items")).rejects.toBeInstanceOf(i.DmkNetworkClientError)})}),describe("error handling",()=>{it("should throw DmkNetworkClientError with status on non-2xx responses",async()=>{const e=vi.fn().mockResolvedValue(new Response("boom",{status:500,statusText:"Server Error"})),t=await new c.DmkNetworkClient({fetch:e}).get("https://api.example.com/items").catch(a=>a);expect(t).toBeInstanceOf(i.DmkNetworkClientError);const s=t;expect(s.status).toBe(500),expect(s.statusText).toBe("Server Error"),expect(s.responseBody).toBe("boom"),expect(s.isTimeout).toBe(!1)}),it("should not throw when throwOnHttpError is disabled",async()=>{const e=vi.fn().mockResolvedValue(new Response("boom",{status:500})),t=await new c.DmkNetworkClient({fetch:e}).request({method:"GET",url:"https://api.example.com/items",responseType:"text",throwOnHttpError:!1});expect(t.status).toBe(500),expect(t.ok).toBe(!1),expect(t.data).toBe("boom")}),it("should wrap generic fetch failures into DmkNetworkClientError",async()=>{const e=new TypeError("network down"),o=vi.fn().mockRejectedValue(e),s=await new c.DmkNetworkClient({fetch:o}).get("https://api.example.com/items").catch(a=>a);expect(s).toBeInstanceOf(i.DmkNetworkClientError),expect(s.cause).toBe(e)})}),describe("timeout",()=>{afterEach(()=>{vi.useRealTimers()}),it("should pass an AbortSignal when timeoutMs is configured",async()=>{const e=vi.fn().mockResolvedValue(n({ok:!0}));await new c.DmkNetworkClient({fetch:e}).get("https://api.example.com/items",{timeoutMs:1e3});const t=e.mock.calls[0][1];expect(t.signal).toBeInstanceOf(AbortSignal)}),it("should not pass a signal when no timeout and no external signal are set",async()=>{const e=vi.fn().mockResolvedValue(n({ok:!0}));await new c.DmkNetworkClient({fetch:e}).get("https://api.example.com/items");const t=e.mock.calls[0][1];expect(t.signal).toBeUndefined()}),it("GIVEN a successful request with timeout WHEN fetch resolves THEN it clears the timeout",async()=>{vi.useFakeTimers();const e=vi.fn().mockResolvedValue(n({ok:!0}));await new c.DmkNetworkClient({fetch:e}).get("https://api.example.com/items",{timeoutMs:1e3});const t=e.mock.calls[0][1];vi.advanceTimersByTime(1e3),expect(t.signal).toBeInstanceOf(AbortSignal),expect(t.signal?.aborted).toBe(!1)}),it("GIVEN a failed request with timeout WHEN fetch rejects THEN it clears the timeout",async()=>{vi.useFakeTimers();const e=new TypeError("network down"),o=vi.fn().mockRejectedValue(e);await new c.DmkNetworkClient({fetch:o}).get("https://api.example.com/items",{timeoutMs:1e3}).catch(()=>{});const s=o.mock.calls[0][1];vi.advanceTimersByTime(1e3),expect(s.signal).toBeInstanceOf(AbortSignal),expect(s.signal?.aborted).toBe(!1)}),it("GIVEN a pending request with timeout WHEN the timeout signal aborts fetch THEN it throws a timeout error",async()=>{vi.useFakeTimers();const e=vi.fn((a,l)=>new Promise((m,p)=>{l?.signal?.addEventListener("abort",()=>{const r=new Error("The operation was aborted");r.name="AbortError",p(r)})})),t=new c.DmkNetworkClient({fetch:e}).get("https://api.example.com/items",{timeoutMs:1e3}).catch(a=>a);await vi.advanceTimersByTimeAsync(1e3);const s=await t;expect(s).toBeInstanceOf(i.DmkNetworkClientError),expect(s.isTimeout).toBe(!0)}),it("should mark the error as a timeout when fetch rejects with TimeoutError",async()=>{const e=new Error("The operation was aborted");e.name="TimeoutError";const o=vi.fn().mockRejectedValue(e),s=await new c.DmkNetworkClient({fetch:o}).get("https://api.example.com/items",{timeoutMs:10}).catch(a=>a);expect(s).toBeInstanceOf(i.DmkNetworkClientError),expect(s.isTimeout).toBe(!0)})}),describe("request envelope",()=>{it("should expose full response metadata via request()",async()=>{const e=vi.fn().mockResolvedValue(new Response(JSON.stringify({hello:"world"}),{status:201,statusText:"Created",headers:{"X-Custom":"1","Content-Type":"application/json"}})),t=await new c.DmkNetworkClient({fetch:e}).request({method:"GET",url:"https://api.example.com/items"});expect(t.status).toBe(201),expect(t.statusText).toBe("Created"),expect(t.ok).toBe(!0),expect(t.data).toEqual({hello:"world"}),expect(t.headers.get("X-Custom")).toBe("1")})})});
|
|
2
2
|
//# sourceMappingURL=DmkNetworkClient.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/api/network/DmkNetworkClient.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { DmkNetworkClient } from \"./DmkNetworkClient\";\nimport { DmkNetworkClientError } from \"./DmkNetworkClientError\";\n\ndescribe(\"DmkNetworkClient\", () => {\n const jsonResponse = (body: unknown, init: ResponseInit = {}) =>\n new Response(JSON.stringify(body), {\n status: 200,\n headers: { \"Content-Type\": \"application/json\" },\n ...init,\n });\n\n describe(\"URL composition\", () => {\n it(\"should send requests to an absolute URL as-is\", async () => {\n const fetchMock = vi.fn().mockResolvedValue(jsonResponse({ ok: true }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n await client.get(\"https://api.example.com/items\");\n\n const [calledUrl] = fetchMock.mock.calls[0]!;\n expect(typeof calledUrl).toBe(\"string\");\n expect(calledUrl).toBe(\"https://api.example.com/items\");\n });\n\n it(\"should prepend baseUrl to relative paths with slash normalization\", async () => {\n const fetchMock = vi\n .fn()\n .mockImplementation(() => Promise.resolve(jsonResponse({ ok: true })));\n const client = new DmkNetworkClient({\n baseUrl: \"https://api.example.com/\",\n fetch: fetchMock,\n });\n\n await client.get(\"/items\");\n await client.get(\"items\");\n\n expect(fetchMock.mock.calls[0]![0]).toBe(\"https://api.example.com/items\");\n expect(fetchMock.mock.calls[1]![0]).toBe(\"https://api.example.com/items\");\n });\n\n it(\"should set URL search params from the config\", async () => {\n const fetchMock = vi.fn().mockResolvedValue(jsonResponse({ ok: true }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n await client.get(\"https://api.example.com/items\", {\n params: {\n chain: 1,\n contract: \"0xabc\",\n active: true,\n skip: null,\n alsoSkip: undefined,\n },\n });\n\n const calledUrl = fetchMock.mock.calls[0]![0] as string;\n expect(typeof calledUrl).toBe(\"string\");\n const url = new URL(calledUrl);\n expect(url.searchParams.get(\"chain\")).toBe(\"1\");\n expect(url.searchParams.get(\"contract\")).toBe(\"0xabc\");\n expect(url.searchParams.get(\"active\")).toBe(\"true\");\n expect(url.searchParams.has(\"skip\")).toBe(false);\n expect(url.searchParams.has(\"alsoSkip\")).toBe(false);\n });\n\n it(\"should pass a plain string URL to fetch with no trailing slash after the query (facebook/react-native#54242)\", async () => {\n const fetchMock = vi.fn().mockResolvedValue(jsonResponse({ ok: true }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n await client.get(\n \"https://manager.api.live.ledger.com/api/get_device_version\",\n { params: { target_id: 858783748, provider: 1 } },\n );\n\n const [calledUrl] = fetchMock.mock.calls[0]!;\n expect(typeof calledUrl).toBe(\"string\");\n expect(calledUrl).toBe(\n \"https://manager.api.live.ledger.com/api/get_device_version?target_id=858783748&provider=1\",\n );\n expect((calledUrl as string).endsWith(\"/\")).toBe(false);\n });\n });\n\n describe(\"headers\", () => {\n it(\"should merge default and per-request headers\", async () => {\n const fetchMock = vi.fn().mockResolvedValue(jsonResponse({ ok: true }));\n const client = new DmkNetworkClient({\n fetch: fetchMock,\n headers: { \"X-Default\": \"default\", \"X-Shared\": \"from-default\" },\n });\n\n await client.get(\"https://api.example.com/items\", {\n headers: { \"X-Shared\": \"overridden\", \"X-Per-Request\": \"per\" },\n });\n\n const init = fetchMock.mock.calls[0]![1] as RequestInit;\n expect(init.headers).toMatchObject({\n \"X-Default\": \"default\",\n \"X-Shared\": \"overridden\",\n \"X-Per-Request\": \"per\",\n });\n });\n });\n\n describe(\"body handling\", () => {\n it(\"should JSON-stringify plain-object bodies and set Content-Type\", async () => {\n const fetchMock = vi.fn().mockResolvedValue(jsonResponse({ ok: true }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n await client.post(\"https://api.example.com/items\", { foo: \"bar\" });\n\n const init = fetchMock.mock.calls[0]![1] as RequestInit;\n expect(init.method).toBe(\"POST\");\n expect(init.body).toBe(JSON.stringify({ foo: \"bar\" }));\n expect(init.headers).toMatchObject({\n \"Content-Type\": \"application/json\",\n });\n });\n\n it(\"should not override an explicit Content-Type header\", async () => {\n const fetchMock = vi.fn().mockResolvedValue(jsonResponse({ ok: true }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n await client.post(\n \"https://api.example.com/items\",\n { foo: \"bar\" },\n { headers: { \"content-type\": \"application/vnd.custom+json\" } },\n );\n\n const init = fetchMock.mock.calls[0]![1] as RequestInit;\n expect(init.headers).toMatchObject({\n \"content-type\": \"application/vnd.custom+json\",\n });\n });\n\n it(\"should pass raw BodyInit values through unchanged\", async () => {\n const fetchMock = vi.fn().mockResolvedValue(jsonResponse({ ok: true }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n const formData = new FormData();\n formData.set(\"field\", \"value\");\n\n await client.post(\"https://api.example.com/items\", formData);\n\n const init = fetchMock.mock.calls[0]![1] as RequestInit;\n expect(init.body).toBe(formData);\n expect(init.headers).not.toMatchObject({\n \"Content-Type\": \"application/json\",\n });\n });\n\n it(\"should not send a body on GET or HEAD\", async () => {\n const fetchMock = vi\n .fn()\n .mockImplementation(() => Promise.resolve(jsonResponse({ ok: true })));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n await client.get(\"https://api.example.com/items\");\n await client.head(\"https://api.example.com/items\");\n\n expect(fetchMock.mock.calls[0]![1]).toMatchObject({ body: undefined });\n expect(fetchMock.mock.calls[1]![1]).toMatchObject({ body: undefined });\n });\n });\n\n describe(\"response parsing\", () => {\n it(\"should return the parsed JSON body by default\", async () => {\n const fetchMock = vi\n .fn()\n .mockResolvedValue(jsonResponse({ hello: \"world\" }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n const result = await client.get(\"https://api.example.com/items\");\n\n expect(result).toEqual({ hello: \"world\" });\n });\n\n it(\"should return text when responseType is 'text'\", async () => {\n const fetchMock = vi\n .fn()\n .mockResolvedValue(new Response(\"plain-body\", { status: 200 }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n const result = await client.get(\"https://api.example.com/items\", {\n responseType: \"text\",\n });\n\n expect(result).toBe(\"plain-body\");\n });\n\n it(\"should resolve HEAD to void without reading the body\", async () => {\n const fetchMock = vi\n .fn()\n .mockResolvedValue(new Response(null, { status: 200 }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n const result = await client.head(\"https://api.example.com/items\");\n\n expect(result).toBeUndefined();\n });\n\n it(\"should resolve empty JSON body to undefined\", async () => {\n const fetchMock = vi\n .fn()\n .mockResolvedValue(new Response(null, { status: 204 }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n const result = await client.get(\"https://api.example.com/items\");\n\n expect(result).toBeUndefined();\n });\n\n it(\"should throw a DmkNetworkClientError on malformed JSON\", async () => {\n const fetchMock = vi\n .fn()\n .mockResolvedValue(new Response(\"not-json\", { status: 200 }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n await expect(\n client.get(\"https://api.example.com/items\"),\n ).rejects.toBeInstanceOf(DmkNetworkClientError);\n });\n });\n\n describe(\"error handling\", () => {\n it(\"should throw DmkNetworkClientError with status on non-2xx responses\", async () => {\n const fetchMock = vi.fn().mockResolvedValue(\n new Response(\"boom\", {\n status: 500,\n statusText: \"Server Error\",\n }),\n );\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n const error = await client\n .get(\"https://api.example.com/items\")\n .catch((e: unknown) => e);\n\n expect(error).toBeInstanceOf(DmkNetworkClientError);\n const dmkError = error as DmkNetworkClientError;\n expect(dmkError.status).toBe(500);\n expect(dmkError.statusText).toBe(\"Server Error\");\n expect(dmkError.responseBody).toBe(\"boom\");\n expect(dmkError.isTimeout).toBe(false);\n expect(dmkError.isAbort).toBe(false);\n });\n\n it(\"should not throw when throwOnHttpError is disabled\", async () => {\n const fetchMock = vi\n .fn()\n .mockResolvedValue(new Response(\"boom\", { status: 500 }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n const response = await client.request({\n method: \"GET\",\n url: \"https://api.example.com/items\",\n responseType: \"text\",\n throwOnHttpError: false,\n });\n\n expect(response.status).toBe(500);\n expect(response.ok).toBe(false);\n expect(response.data).toBe(\"boom\");\n });\n\n it(\"should wrap generic fetch failures into DmkNetworkClientError\", async () => {\n const cause = new TypeError(\"network down\");\n const fetchMock = vi.fn().mockRejectedValue(cause);\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n const error = await client\n .get(\"https://api.example.com/items\")\n .catch((e: unknown) => e);\n\n expect(error).toBeInstanceOf(DmkNetworkClientError);\n expect((error as DmkNetworkClientError).cause).toBe(cause);\n });\n });\n\n describe(\"timeout\", () => {\n it(\"should pass an AbortSignal when timeoutMs is configured\", async () => {\n const fetchMock = vi.fn().mockResolvedValue(jsonResponse({ ok: true }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n await client.get(\"https://api.example.com/items\", { timeoutMs: 1000 });\n\n const init = fetchMock.mock.calls[0]![1] as RequestInit;\n expect(init.signal).toBeInstanceOf(AbortSignal);\n });\n\n it(\"should not pass a signal when no timeout and no external signal are set\", async () => {\n const fetchMock = vi.fn().mockResolvedValue(jsonResponse({ ok: true }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n await client.get(\"https://api.example.com/items\");\n\n const init = fetchMock.mock.calls[0]![1] as RequestInit;\n expect(init.signal).toBeUndefined();\n });\n\n it(\"should mark the error as a timeout when fetch rejects with TimeoutError\", async () => {\n const timeoutError = new Error(\"The operation was aborted\");\n timeoutError.name = \"TimeoutError\";\n const fetchMock = vi.fn().mockRejectedValue(timeoutError);\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n const error = await client\n .get(\"https://api.example.com/items\", { timeoutMs: 10 })\n .catch((e: unknown) => e);\n\n expect(error).toBeInstanceOf(DmkNetworkClientError);\n expect((error as DmkNetworkClientError).isTimeout).toBe(true);\n expect((error as DmkNetworkClientError).isAbort).toBe(false);\n });\n\n it(\"should mark the error as an abort when the caller signal is aborted\", async () => {\n const abortController = new AbortController();\n abortController.abort();\n const abortError = new Error(\"aborted\");\n abortError.name = \"AbortError\";\n const fetchMock = vi.fn().mockRejectedValue(abortError);\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n const error = await client\n .get(\"https://api.example.com/items\", {\n signal: abortController.signal,\n })\n .catch((e: unknown) => e);\n\n expect(error).toBeInstanceOf(DmkNetworkClientError);\n expect((error as DmkNetworkClientError).isAbort).toBe(true);\n expect((error as DmkNetworkClientError).isTimeout).toBe(false);\n });\n });\n\n describe(\"request envelope\", () => {\n it(\"should expose full response metadata via request()\", async () => {\n const fetchMock = vi.fn().mockResolvedValue(\n new Response(JSON.stringify({ hello: \"world\" }), {\n status: 201,\n statusText: \"Created\",\n headers: { \"X-Custom\": \"1\", \"Content-Type\": \"application/json\" },\n }),\n );\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n const response = await client.request({\n method: \"GET\",\n url: \"https://api.example.com/items\",\n });\n\n expect(response.status).toBe(201);\n expect(response.statusText).toBe(\"Created\");\n expect(response.ok).toBe(true);\n expect(response.data).toEqual({ hello: \"world\" });\n expect(response.headers.get(\"X-Custom\")).toBe(\"1\");\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "aAAA,IAAAA,EAAiC,8BACjCC,EAAsC,mCAEtC,SAAS,mBAAoB,IAAM,CACjC,MAAMC,EAAe,CAACC,EAAeC,EAAqB,CAAC,IACzD,IAAI,SAAS,KAAK,UAAUD,CAAI,EAAG,CACjC,OAAQ,IACR,QAAS,CAAE,eAAgB,kBAAmB,EAC9C,GAAGC,CACL,CAAC,EAEH,SAAS,kBAAmB,IAAM,CAChC,GAAG,gDAAiD,SAAY,CAC9D,MAAMC,EAAY,GAAG,GAAG,EAAE,kBAAkBH,EAAa,CAAE,GAAI,EAAK,CAAC,CAAC,EAGtE,MAFe,IAAI,mBAAiB,CAAE,MAAOG,CAAU,CAAC,EAE3C,IAAI,+BAA+B,EAEhD,KAAM,CAACC,CAAS,EAAID,EAAU,KAAK,MAAM,CAAC,EAC1C,OAAO,OAAOC,CAAS,EAAE,KAAK,QAAQ,EACtC,OAAOA,CAAS,EAAE,KAAK,+BAA+B,CACxD,CAAC,EAED,GAAG,oEAAqE,SAAY,CAClF,MAAMD,EAAY,GACf,GAAG,EACH,mBAAmB,IAAM,QAAQ,QAAQH,EAAa,CAAE,GAAI,EAAK,CAAC,CAAC,CAAC,EACjEK,EAAS,IAAI,mBAAiB,CAClC,QAAS,2BACT,MAAOF,CACT,CAAC,EAED,MAAME,EAAO,IAAI,QAAQ,EACzB,MAAMA,EAAO,IAAI,OAAO,EAExB,OAAOF,EAAU,KAAK,MAAM,CAAC,EAAG,CAAC,CAAC,EAAE,KAAK,+BAA+B,EACxE,OAAOA,EAAU,KAAK,MAAM,CAAC,EAAG,CAAC,CAAC,EAAE,KAAK,+BAA+B,CAC1E,CAAC,EAED,GAAG,+CAAgD,SAAY,CAC7D,MAAMA,EAAY,GAAG,GAAG,EAAE,kBAAkBH,EAAa,CAAE,GAAI,EAAK,CAAC,CAAC,EAGtE,MAFe,IAAI,mBAAiB,CAAE,MAAOG,CAAU,CAAC,EAE3C,IAAI,gCAAiC,CAChD,OAAQ,CACN,MAAO,EACP,SAAU,QACV,OAAQ,GACR,KAAM,KACN,SAAU,MACZ,CACF,CAAC,EAED,MAAMC,EAAYD,EAAU,KAAK,MAAM,CAAC,EAAG,CAAC,EAC5C,OAAO,OAAOC,CAAS,EAAE,KAAK,QAAQ,EACtC,MAAME,EAAM,IAAI,IAAIF,CAAS,EAC7B,OAAOE,EAAI,aAAa,IAAI,OAAO,CAAC,EAAE,KAAK,GAAG,EAC9C,OAAOA,EAAI,aAAa,IAAI,UAAU,CAAC,EAAE,KAAK,OAAO,EACrD,OAAOA,EAAI,aAAa,IAAI,QAAQ,CAAC,EAAE,KAAK,MAAM,EAClD,OAAOA,EAAI,aAAa,IAAI,MAAM,CAAC,EAAE,KAAK,EAAK,EAC/C,OAAOA,EAAI,aAAa,IAAI,UAAU,CAAC,EAAE,KAAK,EAAK,CACrD,CAAC,EAED,GAAG,+GAAgH,SAAY,CAC7H,MAAMH,EAAY,GAAG,GAAG,EAAE,kBAAkBH,EAAa,CAAE,GAAI,EAAK,CAAC,CAAC,EAGtE,MAFe,IAAI,mBAAiB,CAAE,MAAOG,CAAU,CAAC,EAE3C,IACX,6DACA,CAAE,OAAQ,CAAE,UAAW,UAAW,SAAU,CAAE,CAAE,CAClD,EAEA,KAAM,CAACC,CAAS,EAAID,EAAU,KAAK,MAAM,CAAC,EAC1C,OAAO,OAAOC,CAAS,EAAE,KAAK,QAAQ,EACtC,OAAOA,CAAS,EAAE,KAChB,2FACF,EACA,OAAQA,EAAqB,SAAS,GAAG,CAAC,EAAE,KAAK,EAAK,CACxD,CAAC,CACH,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,+CAAgD,SAAY,CAC7D,MAAMD,EAAY,GAAG,GAAG,EAAE,kBAAkBH,EAAa,CAAE,GAAI,EAAK,CAAC,CAAC,EAMtE,MALe,IAAI,mBAAiB,CAClC,MAAOG,EACP,QAAS,CAAE,YAAa,UAAW,WAAY,cAAe,CAChE,CAAC,EAEY,IAAI,gCAAiC,CAChD,QAAS,CAAE,WAAY,aAAc,gBAAiB,KAAM,CAC9D,CAAC,EAED,MAAMD,EAAOC,EAAU,KAAK,MAAM,CAAC,EAAG,CAAC,EACvC,OAAOD,EAAK,OAAO,EAAE,cAAc,CACjC,YAAa,UACb,WAAY,aACZ,gBAAiB,KACnB,CAAC,CACH,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,iEAAkE,SAAY,CAC/E,MAAMC,EAAY,GAAG,GAAG,EAAE,kBAAkBH,EAAa,CAAE,GAAI,EAAK,CAAC,CAAC,EAGtE,MAFe,IAAI,mBAAiB,CAAE,MAAOG,CAAU,CAAC,EAE3C,KAAK,gCAAiC,CAAE,IAAK,KAAM,CAAC,EAEjE,MAAMD,EAAOC,EAAU,KAAK,MAAM,CAAC,EAAG,CAAC,EACvC,OAAOD,EAAK,MAAM,EAAE,KAAK,MAAM,EAC/B,OAAOA,EAAK,IAAI,EAAE,KAAK,KAAK,UAAU,CAAE,IAAK,KAAM,CAAC,CAAC,EACrD,OAAOA,EAAK,OAAO,EAAE,cAAc,CACjC,eAAgB,kBAClB,CAAC,CACH,CAAC,EAED,GAAG,sDAAuD,SAAY,CACpE,MAAMC,EAAY,GAAG,GAAG,EAAE,kBAAkBH,EAAa,CAAE,GAAI,EAAK,CAAC,CAAC,EAGtE,MAFe,IAAI,mBAAiB,CAAE,MAAOG,CAAU,CAAC,EAE3C,KACX,gCACA,CAAE,IAAK,KAAM,EACb,CAAE,QAAS,CAAE,eAAgB,6BAA8B,CAAE,CAC/D,EAEA,MAAMD,EAAOC,EAAU,KAAK,MAAM,CAAC,EAAG,CAAC,EACvC,OAAOD,EAAK,OAAO,EAAE,cAAc,CACjC,eAAgB,6BAClB,CAAC,CACH,CAAC,EAED,GAAG,oDAAqD,SAAY,CAClE,MAAMC,EAAY,GAAG,GAAG,EAAE,kBAAkBH,EAAa,CAAE,GAAI,EAAK,CAAC,CAAC,EAChEK,EAAS,IAAI,mBAAiB,CAAE,MAAOF,CAAU,CAAC,EAClDI,EAAW,IAAI,SACrBA,EAAS,IAAI,QAAS,OAAO,EAE7B,MAAMF,EAAO,KAAK,gCAAiCE,CAAQ,EAE3D,MAAML,EAAOC,EAAU,KAAK,MAAM,CAAC,EAAG,CAAC,EACvC,OAAOD,EAAK,IAAI,EAAE,KAAKK,CAAQ,EAC/B,OAAOL,EAAK,OAAO,EAAE,IAAI,cAAc,CACrC,eAAgB,kBAClB,CAAC,CACH,CAAC,EAED,GAAG,wCAAyC,SAAY,CACtD,MAAMC,EAAY,GACf,GAAG,EACH,mBAAmB,IAAM,QAAQ,QAAQH,EAAa,CAAE,GAAI,EAAK,CAAC,CAAC,CAAC,EACjEK,EAAS,IAAI,mBAAiB,CAAE,MAAOF,CAAU,CAAC,EAExD,MAAME,EAAO,IAAI,+BAA+B,EAChD,MAAMA,EAAO,KAAK,+BAA+B,EAEjD,OAAOF,EAAU,KAAK,MAAM,CAAC,EAAG,CAAC,CAAC,EAAE,cAAc,CAAE,KAAM,MAAU,CAAC,EACrE,OAAOA,EAAU,KAAK,MAAM,CAAC,EAAG,CAAC,CAAC,EAAE,cAAc,CAAE,KAAM,MAAU,CAAC,CACvE,CAAC,CACH,CAAC,EAED,SAAS,mBAAoB,IAAM,CACjC,GAAG,gDAAiD,SAAY,CAC9D,MAAMA,EAAY,GACf,GAAG,EACH,kBAAkBH,EAAa,CAAE,MAAO,OAAQ,CAAC,CAAC,EAG/CQ,EAAS,MAFA,IAAI,mBAAiB,CAAE,MAAOL,CAAU,CAAC,EAE5B,IAAI,+BAA+B,EAE/D,OAAOK,CAAM,EAAE,QAAQ,CAAE,MAAO,OAAQ,CAAC,CAC3C,CAAC,EAED,GAAG,iDAAkD,SAAY,CAC/D,MAAML,EAAY,GACf,GAAG,EACH,kBAAkB,IAAI,SAAS,aAAc,CAAE,OAAQ,GAAI,CAAC,CAAC,EAG1DK,EAAS,MAFA,IAAI,mBAAiB,CAAE,MAAOL,CAAU,CAAC,EAE5B,IAAI,gCAAiC,CAC/D,aAAc,MAChB,CAAC,EAED,OAAOK,CAAM,EAAE,KAAK,YAAY,CAClC,CAAC,EAED,GAAG,uDAAwD,SAAY,CACrE,MAAML,EAAY,GACf,GAAG,EACH,kBAAkB,IAAI,SAAS,KAAM,CAAE,OAAQ,GAAI,CAAC,CAAC,EAGlDK,EAAS,MAFA,IAAI,mBAAiB,CAAE,MAAOL,CAAU,CAAC,EAE5B,KAAK,+BAA+B,EAEhE,OAAOK,CAAM,EAAE,cAAc,CAC/B,CAAC,EAED,GAAG,8CAA+C,SAAY,CAC5D,MAAML,EAAY,GACf,GAAG,EACH,kBAAkB,IAAI,SAAS,KAAM,CAAE,OAAQ,GAAI,CAAC,CAAC,EAGlDK,EAAS,MAFA,IAAI,mBAAiB,CAAE,MAAOL,CAAU,CAAC,EAE5B,IAAI,+BAA+B,EAE/D,OAAOK,CAAM,EAAE,cAAc,CAC/B,CAAC,EAED,GAAG,yDAA0D,SAAY,CACvE,MAAML,EAAY,GACf,GAAG,EACH,kBAAkB,IAAI,SAAS,WAAY,CAAE,OAAQ,GAAI,CAAC,CAAC,EACxDE,EAAS,IAAI,mBAAiB,CAAE,MAAOF,CAAU,CAAC,EAExD,MAAM,OACJE,EAAO,IAAI,+BAA+B,CAC5C,EAAE,QAAQ,eAAe,uBAAqB,CAChD,CAAC,CACH,CAAC,EAED,SAAS,iBAAkB,IAAM,CAC/B,GAAG,sEAAuE,SAAY,CACpF,MAAMF,EAAY,GAAG,GAAG,EAAE,kBACxB,IAAI,SAAS,OAAQ,CACnB,OAAQ,IACR,WAAY,cACd,CAAC,CACH,EAGMM,EAAQ,MAFC,IAAI,mBAAiB,CAAE,MAAON,CAAU,CAAC,EAGrD,IAAI,+BAA+B,EACnC,MAAOO,GAAeA,CAAC,EAE1B,OAAOD,CAAK,EAAE,eAAe,uBAAqB,EAClD,MAAME,EAAWF,EACjB,OAAOE,EAAS,MAAM,EAAE,KAAK,GAAG,EAChC,OAAOA,EAAS,UAAU,EAAE,KAAK,cAAc,EAC/C,OAAOA,EAAS,YAAY,EAAE,KAAK,MAAM,EACzC,OAAOA,EAAS,SAAS,EAAE,KAAK,EAAK,
|
|
6
|
-
"names": ["import_DmkNetworkClient", "import_DmkNetworkClientError", "jsonResponse", "body", "init", "fetchMock", "calledUrl", "client", "url", "formData", "result", "error", "e", "dmkError", "response", "cause", "
|
|
4
|
+
"sourcesContent": ["import { DmkNetworkClient } from \"./DmkNetworkClient\";\nimport { DmkNetworkClientError } from \"./DmkNetworkClientError\";\n\ndescribe(\"DmkNetworkClient\", () => {\n const jsonResponse = (body: unknown, init: ResponseInit = {}) =>\n new Response(JSON.stringify(body), {\n status: 200,\n headers: { \"Content-Type\": \"application/json\" },\n ...init,\n });\n\n describe(\"URL composition\", () => {\n it(\"should send requests to an absolute URL as-is\", async () => {\n const fetchMock = vi.fn().mockResolvedValue(jsonResponse({ ok: true }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n await client.get(\"https://api.example.com/items\");\n\n const [calledUrl] = fetchMock.mock.calls[0]!;\n expect(typeof calledUrl).toBe(\"string\");\n expect(calledUrl).toBe(\"https://api.example.com/items\");\n });\n\n it(\"should prepend baseUrl to relative paths with slash normalization\", async () => {\n const fetchMock = vi\n .fn()\n .mockImplementation(() => Promise.resolve(jsonResponse({ ok: true })));\n const client = new DmkNetworkClient({\n baseUrl: \"https://api.example.com/\",\n fetch: fetchMock,\n });\n\n await client.get(\"/items\");\n await client.get(\"items\");\n\n expect(fetchMock.mock.calls[0]![0]).toBe(\"https://api.example.com/items\");\n expect(fetchMock.mock.calls[1]![0]).toBe(\"https://api.example.com/items\");\n });\n\n it(\"should set URL search params from the config\", async () => {\n const fetchMock = vi.fn().mockResolvedValue(jsonResponse({ ok: true }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n await client.get(\"https://api.example.com/items\", {\n params: {\n chain: 1,\n contract: \"0xabc\",\n active: true,\n skip: null,\n alsoSkip: undefined,\n },\n });\n\n const calledUrl = fetchMock.mock.calls[0]![0] as string;\n expect(typeof calledUrl).toBe(\"string\");\n const url = new URL(calledUrl);\n expect(url.searchParams.get(\"chain\")).toBe(\"1\");\n expect(url.searchParams.get(\"contract\")).toBe(\"0xabc\");\n expect(url.searchParams.get(\"active\")).toBe(\"true\");\n expect(url.searchParams.has(\"skip\")).toBe(false);\n expect(url.searchParams.has(\"alsoSkip\")).toBe(false);\n });\n\n it(\"should pass a plain string URL to fetch with no trailing slash after the query (facebook/react-native#54242)\", async () => {\n const fetchMock = vi.fn().mockResolvedValue(jsonResponse({ ok: true }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n await client.get(\n \"https://manager.api.live.ledger.com/api/get_device_version\",\n { params: { target_id: 858783748, provider: 1 } },\n );\n\n const [calledUrl] = fetchMock.mock.calls[0]!;\n expect(typeof calledUrl).toBe(\"string\");\n expect(calledUrl).toBe(\n \"https://manager.api.live.ledger.com/api/get_device_version?target_id=858783748&provider=1\",\n );\n expect((calledUrl as string).endsWith(\"/\")).toBe(false);\n });\n });\n\n describe(\"headers\", () => {\n it(\"should merge default and per-request headers\", async () => {\n const fetchMock = vi.fn().mockResolvedValue(jsonResponse({ ok: true }));\n const client = new DmkNetworkClient({\n fetch: fetchMock,\n headers: { \"X-Default\": \"default\", \"X-Shared\": \"from-default\" },\n });\n\n await client.get(\"https://api.example.com/items\", {\n headers: { \"X-Shared\": \"overridden\", \"X-Per-Request\": \"per\" },\n });\n\n const init = fetchMock.mock.calls[0]![1] as RequestInit;\n expect(init.headers).toMatchObject({\n \"X-Default\": \"default\",\n \"X-Shared\": \"overridden\",\n \"X-Per-Request\": \"per\",\n });\n });\n });\n\n describe(\"body handling\", () => {\n it(\"should JSON-stringify plain-object bodies and set Content-Type\", async () => {\n const fetchMock = vi.fn().mockResolvedValue(jsonResponse({ ok: true }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n await client.post(\"https://api.example.com/items\", { foo: \"bar\" });\n\n const init = fetchMock.mock.calls[0]![1] as RequestInit;\n expect(init.method).toBe(\"POST\");\n expect(init.body).toBe(JSON.stringify({ foo: \"bar\" }));\n expect(init.headers).toMatchObject({\n \"Content-Type\": \"application/json\",\n });\n });\n\n it(\"should not override an explicit Content-Type header\", async () => {\n const fetchMock = vi.fn().mockResolvedValue(jsonResponse({ ok: true }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n await client.post(\n \"https://api.example.com/items\",\n { foo: \"bar\" },\n { headers: { \"content-type\": \"application/vnd.custom+json\" } },\n );\n\n const init = fetchMock.mock.calls[0]![1] as RequestInit;\n expect(init.headers).toMatchObject({\n \"content-type\": \"application/vnd.custom+json\",\n });\n });\n\n it(\"should pass raw BodyInit values through unchanged\", async () => {\n const fetchMock = vi.fn().mockResolvedValue(jsonResponse({ ok: true }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n const formData = new FormData();\n formData.set(\"field\", \"value\");\n\n await client.post(\"https://api.example.com/items\", formData);\n\n const init = fetchMock.mock.calls[0]![1] as RequestInit;\n expect(init.body).toBe(formData);\n expect(init.headers).not.toMatchObject({\n \"Content-Type\": \"application/json\",\n });\n });\n\n it(\"should not send a body on GET or HEAD\", async () => {\n const fetchMock = vi\n .fn()\n .mockImplementation(() => Promise.resolve(jsonResponse({ ok: true })));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n await client.get(\"https://api.example.com/items\");\n await client.head(\"https://api.example.com/items\");\n\n expect(fetchMock.mock.calls[0]![1]).toMatchObject({ body: undefined });\n expect(fetchMock.mock.calls[1]![1]).toMatchObject({ body: undefined });\n });\n });\n\n describe(\"response parsing\", () => {\n it(\"should return the parsed JSON body by default\", async () => {\n const fetchMock = vi\n .fn()\n .mockResolvedValue(jsonResponse({ hello: \"world\" }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n const result = await client.get(\"https://api.example.com/items\");\n\n expect(result).toEqual({ hello: \"world\" });\n });\n\n it(\"should return text when responseType is 'text'\", async () => {\n const fetchMock = vi\n .fn()\n .mockResolvedValue(new Response(\"plain-body\", { status: 200 }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n const result = await client.get(\"https://api.example.com/items\", {\n responseType: \"text\",\n });\n\n expect(result).toBe(\"plain-body\");\n });\n\n it(\"should resolve HEAD to void without reading the body\", async () => {\n const fetchMock = vi\n .fn()\n .mockResolvedValue(new Response(null, { status: 200 }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n const result = await client.head(\"https://api.example.com/items\");\n\n expect(result).toBeUndefined();\n });\n\n it(\"should resolve empty JSON body to undefined\", async () => {\n const fetchMock = vi\n .fn()\n .mockResolvedValue(new Response(null, { status: 204 }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n const result = await client.get(\"https://api.example.com/items\");\n\n expect(result).toBeUndefined();\n });\n\n it(\"should throw a DmkNetworkClientError on malformed JSON\", async () => {\n const fetchMock = vi\n .fn()\n .mockResolvedValue(new Response(\"not-json\", { status: 200 }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n await expect(\n client.get(\"https://api.example.com/items\"),\n ).rejects.toBeInstanceOf(DmkNetworkClientError);\n });\n });\n\n describe(\"error handling\", () => {\n it(\"should throw DmkNetworkClientError with status on non-2xx responses\", async () => {\n const fetchMock = vi.fn().mockResolvedValue(\n new Response(\"boom\", {\n status: 500,\n statusText: \"Server Error\",\n }),\n );\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n const error = await client\n .get(\"https://api.example.com/items\")\n .catch((e: unknown) => e);\n\n expect(error).toBeInstanceOf(DmkNetworkClientError);\n const dmkError = error as DmkNetworkClientError;\n expect(dmkError.status).toBe(500);\n expect(dmkError.statusText).toBe(\"Server Error\");\n expect(dmkError.responseBody).toBe(\"boom\");\n expect(dmkError.isTimeout).toBe(false);\n });\n\n it(\"should not throw when throwOnHttpError is disabled\", async () => {\n const fetchMock = vi\n .fn()\n .mockResolvedValue(new Response(\"boom\", { status: 500 }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n const response = await client.request({\n method: \"GET\",\n url: \"https://api.example.com/items\",\n responseType: \"text\",\n throwOnHttpError: false,\n });\n\n expect(response.status).toBe(500);\n expect(response.ok).toBe(false);\n expect(response.data).toBe(\"boom\");\n });\n\n it(\"should wrap generic fetch failures into DmkNetworkClientError\", async () => {\n const cause = new TypeError(\"network down\");\n const fetchMock = vi.fn().mockRejectedValue(cause);\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n const error = await client\n .get(\"https://api.example.com/items\")\n .catch((e: unknown) => e);\n\n expect(error).toBeInstanceOf(DmkNetworkClientError);\n expect((error as DmkNetworkClientError).cause).toBe(cause);\n });\n });\n\n describe(\"timeout\", () => {\n afterEach(() => {\n vi.useRealTimers();\n });\n\n it(\"should pass an AbortSignal when timeoutMs is configured\", async () => {\n const fetchMock = vi.fn().mockResolvedValue(jsonResponse({ ok: true }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n await client.get(\"https://api.example.com/items\", { timeoutMs: 1000 });\n\n const init = fetchMock.mock.calls[0]![1] as RequestInit;\n expect(init.signal).toBeInstanceOf(AbortSignal);\n });\n\n it(\"should not pass a signal when no timeout and no external signal are set\", async () => {\n const fetchMock = vi.fn().mockResolvedValue(jsonResponse({ ok: true }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n await client.get(\"https://api.example.com/items\");\n\n const init = fetchMock.mock.calls[0]![1] as RequestInit;\n expect(init.signal).toBeUndefined();\n });\n\n it(\"GIVEN a successful request with timeout WHEN fetch resolves THEN it clears the timeout\", async () => {\n vi.useFakeTimers();\n const fetchMock = vi.fn().mockResolvedValue(jsonResponse({ ok: true }));\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n await client.get(\"https://api.example.com/items\", { timeoutMs: 1000 });\n const init = fetchMock.mock.calls[0]![1] as RequestInit;\n\n vi.advanceTimersByTime(1000);\n\n expect(init.signal).toBeInstanceOf(AbortSignal);\n expect(init.signal?.aborted).toBe(false);\n });\n\n it(\"GIVEN a failed request with timeout WHEN fetch rejects THEN it clears the timeout\", async () => {\n vi.useFakeTimers();\n const cause = new TypeError(\"network down\");\n const fetchMock = vi.fn().mockRejectedValue(cause);\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n await client\n .get(\"https://api.example.com/items\", { timeoutMs: 1000 })\n .catch(() => undefined);\n const init = fetchMock.mock.calls[0]![1] as RequestInit;\n\n vi.advanceTimersByTime(1000);\n\n expect(init.signal).toBeInstanceOf(AbortSignal);\n expect(init.signal?.aborted).toBe(false);\n });\n\n it(\"GIVEN a pending request with timeout WHEN the timeout signal aborts fetch THEN it throws a timeout error\", async () => {\n vi.useFakeTimers();\n const fetchMock = vi.fn(\n (_url: string | URL | Request, init?: RequestInit) =>\n new Promise<Response>((_resolve, reject) => {\n init?.signal?.addEventListener(\"abort\", () => {\n const abortError = new Error(\"The operation was aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n });\n }),\n );\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n const request = client\n .get(\"https://api.example.com/items\", { timeoutMs: 1000 })\n .catch((e: unknown) => e);\n\n await vi.advanceTimersByTimeAsync(1000);\n const error = await request;\n\n expect(error).toBeInstanceOf(DmkNetworkClientError);\n expect((error as DmkNetworkClientError).isTimeout).toBe(true);\n });\n\n it(\"should mark the error as a timeout when fetch rejects with TimeoutError\", async () => {\n const timeoutError = new Error(\"The operation was aborted\");\n timeoutError.name = \"TimeoutError\";\n const fetchMock = vi.fn().mockRejectedValue(timeoutError);\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n const error = await client\n .get(\"https://api.example.com/items\", { timeoutMs: 10 })\n .catch((e: unknown) => e);\n\n expect(error).toBeInstanceOf(DmkNetworkClientError);\n expect((error as DmkNetworkClientError).isTimeout).toBe(true);\n });\n });\n\n describe(\"request envelope\", () => {\n it(\"should expose full response metadata via request()\", async () => {\n const fetchMock = vi.fn().mockResolvedValue(\n new Response(JSON.stringify({ hello: \"world\" }), {\n status: 201,\n statusText: \"Created\",\n headers: { \"X-Custom\": \"1\", \"Content-Type\": \"application/json\" },\n }),\n );\n const client = new DmkNetworkClient({ fetch: fetchMock });\n\n const response = await client.request({\n method: \"GET\",\n url: \"https://api.example.com/items\",\n });\n\n expect(response.status).toBe(201);\n expect(response.statusText).toBe(\"Created\");\n expect(response.ok).toBe(true);\n expect(response.data).toEqual({ hello: \"world\" });\n expect(response.headers.get(\"X-Custom\")).toBe(\"1\");\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_DmkNetworkClient", "import_DmkNetworkClientError", "jsonResponse", "body", "init", "fetchMock", "calledUrl", "client", "url", "formData", "result", "error", "e", "dmkError", "response", "cause", "_url", "_resolve", "reject", "abortError", "request", "timeoutError"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var o=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var l=(s,e)=>{for(var r in e)o(s,r,{get:e[r],enumerable:!0})},c=(s,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of u(e))!a.call(s,t)&&t!==r&&o(s,t,{get:()=>e[t],enumerable:!(n=i(e,t))||n.enumerable});return s};var d=s=>c(o({},"__esModule",{value:!0}),s);var m={};l(m,{DmkNetworkClientError:()=>k});module.exports=d(m);class k extends Error{status;statusText;responseBody;isTimeout;cause;constructor(e){super(e.message),this.name="DmkNetworkClientError",this.status=e.status,this.statusText=e.statusText,this.responseBody=e.responseBody,this.isTimeout=e.isTimeout??!1,this.cause=e.cause}}0&&(module.exports={DmkNetworkClientError});
|
|
2
2
|
//# sourceMappingURL=DmkNetworkClientError.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/api/network/DmkNetworkClientError.ts"],
|
|
4
|
-
"sourcesContent": ["export type DmkNetworkClientErrorParams = {\n message: string;\n status?: number;\n statusText?: string;\n responseBody?: string;\n isTimeout?: boolean;\n
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,2BAAAE,IAAA,eAAAC,EAAAH,
|
|
4
|
+
"sourcesContent": ["export type DmkNetworkClientErrorParams = {\n message: string;\n status?: number;\n statusText?: string;\n responseBody?: string;\n isTimeout?: boolean;\n cause?: unknown;\n};\n\n/**\n * Error thrown by {@link DmkNetworkClient} for HTTP, timeout or transport-level\n * failures.\n *\n * - When the remote returned a non-2xx response, {@link status} and\n * {@link statusText} are populated and {@link responseBody} contains the\n * raw text body (best effort).\n * - When the request timed out via the client's `timeoutMs`,\n * {@link isTimeout} is `true`.\n * - For other fetch/network failures, {@link cause} carries the original\n * error.\n */\nexport class DmkNetworkClientError extends Error {\n public readonly status?: number;\n public readonly statusText?: string;\n public readonly responseBody?: string;\n public readonly isTimeout: boolean;\n public override readonly cause?: unknown;\n\n constructor(params: DmkNetworkClientErrorParams) {\n super(params.message);\n this.name = \"DmkNetworkClientError\";\n this.status = params.status;\n this.statusText = params.statusText;\n this.responseBody = params.responseBody;\n this.isTimeout = params.isTimeout ?? false;\n this.cause = params.cause;\n }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,2BAAAE,IAAA,eAAAC,EAAAH,GAqBO,MAAME,UAA8B,KAAM,CAC/B,OACA,WACA,aACA,UACS,MAEzB,YAAYE,EAAqC,CAC/C,MAAMA,EAAO,OAAO,EACpB,KAAK,KAAO,wBACZ,KAAK,OAASA,EAAO,OACrB,KAAK,WAAaA,EAAO,WACzB,KAAK,aAAeA,EAAO,aAC3B,KAAK,UAAYA,EAAO,WAAa,GACrC,KAAK,MAAQA,EAAO,KACtB,CACF",
|
|
6
6
|
"names": ["DmkNetworkClientError_exports", "__export", "DmkNetworkClientError", "__toCommonJS", "params"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var a=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var b=(t,e)=>{for(var r in e)a(t,r,{get:e[r],enumerable:!0})},w=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of g(e))!y.call(t,s)&&s!==r&&a(t,s,{get:()=>e[s],enumerable:!(n=p(e,s))||n.enumerable});return t};var x=t=>w(a({},"__esModule",{value:!0}),t);var S={};b(S,{JSON_CONTENT_TYPE:()=>d,buildBodyAndHeaders:()=>T,buildSignal:()=>h,buildUrl:()=>k,hasHeader:()=>f,isRawBody:()=>m,joinPath:()=>c,parseBody:()=>B,safeReadText:()=>E,wrapFetchError:()=>P});module.exports=x(S);var i=require("./DmkNetworkClientError");const d="application/json";function c(t,e){if(!e)return t;const r=t.endsWith("/")?t.slice(0,-1):t,n=e.startsWith("/")?e:`/${e}`;return`${r}${n}`}function R(t){const e=[];for(const[r,n]of Object.entries(t))n!=null&&e.push(`${encodeURIComponent(r)}=${encodeURIComponent(String(n))}`);return e.join("&")}function k(t){const{url:e,params:r,baseUrl:n}=t,o=/^[a-z][a-z0-9+.-]*:\/\//i.test(e)?e:n?c(n,e):e,u=r?R(r):"";if(u.length===0)return o;const l=o.includes("?")?"&":"?";return`${o}${l}${u}`}function f(t,e){const r=e.toLowerCase();return Object.keys(t).some(n=>n.toLowerCase()===r)}function m(t){return!!(typeof t=="string"||t instanceof ArrayBuffer||ArrayBuffer.isView(t)||typeof Blob<"u"&&t instanceof Blob||typeof FormData<"u"&&t instanceof FormData||typeof URLSearchParams<"u"&&t instanceof URLSearchParams||typeof ReadableStream<"u"&&t instanceof ReadableStream)}function T(t){const{method:e,body:r,defaultHeaders:n,perRequestHeaders:s}=t,o={...n,...s};return r===void 0||e==="GET"||e==="HEAD"?{body:void 0,headers:o}:m(r)?{body:r,headers:o}:(f(o,"content-type")||(o["Content-Type"]=d),{body:JSON.stringify(r),headers:o})}function h(t){const{timeoutMs:e}=t;if(!e||e<=0)return{signal:void 0,cleanup:()=>{}};const r=new AbortController,n=setTimeout(()=>{r.abort()},e);return{signal:r.signal,cleanup:()=>clearTimeout(n)}}async function B(t,e){switch(e){case"void":return;case"text":return await t.text();case"blob":return await t.blob();case"arrayBuffer":return await t.arrayBuffer();case"json":default:{const r=await t.text();if(r.length===0)return;try{return JSON.parse(r)}catch(n){throw new i.DmkNetworkClientError({message:"Failed to parse JSON response body",status:t.status,statusText:t.statusText,responseBody:r,cause:n})}}}}async function E(t){try{return await t.text()}catch{return}}function P(t){const{cause:e,timeoutMs:r}=t,n=!!(r&&r>0);if(e instanceof Error&&(e.name==="AbortError"||e.name==="TimeoutError")){const o=e.name==="TimeoutError"||n;return new i.DmkNetworkClientError({message:o?"Request timed out":"Request aborted",isTimeout:o,cause:e})}return new i.DmkNetworkClientError({message:e instanceof Error?e.message:"Network request failed",cause:e})}0&&(module.exports={JSON_CONTENT_TYPE,buildBodyAndHeaders,buildSignal,buildUrl,hasHeader,isRawBody,joinPath,parseBody,safeReadText,wrapFetchError});
|
|
2
2
|
//# sourceMappingURL=DmkNetworkClientHelpers.js.map
|