@ledgerhq/device-management-kit 1.6.0 → 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.
Files changed (51) hide show
  1. package/lib/cjs/package.json +1 -2
  2. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.js.map +2 -2
  3. package/lib/cjs/src/api/network/DmkNetworkClient.js +1 -1
  4. package/lib/cjs/src/api/network/DmkNetworkClient.js.map +3 -3
  5. package/lib/cjs/src/api/network/DmkNetworkClient.test.js +1 -1
  6. package/lib/cjs/src/api/network/DmkNetworkClient.test.js.map +3 -3
  7. package/lib/cjs/src/api/network/DmkNetworkClientError.js +1 -1
  8. package/lib/cjs/src/api/network/DmkNetworkClientError.js.map +2 -2
  9. package/lib/cjs/src/api/network/DmkNetworkClientHelpers.js +1 -1
  10. package/lib/cjs/src/api/network/DmkNetworkClientHelpers.js.map +3 -3
  11. package/lib/cjs/src/api/network/DmkNetworkClientHelpers.test.js +1 -1
  12. package/lib/cjs/src/api/network/DmkNetworkClientHelpers.test.js.map +3 -3
  13. package/lib/cjs/src/api/utils/Base64String.js +1 -1
  14. package/lib/cjs/src/api/utils/Base64String.js.map +3 -3
  15. package/lib/cjs/src/api/utils/Base64String.test.js +3 -1
  16. package/lib/cjs/src/api/utils/Base64String.test.js.map +3 -3
  17. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +1 -1
  18. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +3 -3
  19. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +1 -1
  20. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +2 -2
  21. package/lib/esm/package.json +1 -2
  22. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.js.map +2 -2
  23. package/lib/esm/src/api/network/DmkNetworkClient.js +1 -1
  24. package/lib/esm/src/api/network/DmkNetworkClient.js.map +3 -3
  25. package/lib/esm/src/api/network/DmkNetworkClient.test.js +1 -1
  26. package/lib/esm/src/api/network/DmkNetworkClient.test.js.map +3 -3
  27. package/lib/esm/src/api/network/DmkNetworkClientError.js +1 -1
  28. package/lib/esm/src/api/network/DmkNetworkClientError.js.map +2 -2
  29. package/lib/esm/src/api/network/DmkNetworkClientHelpers.js +1 -1
  30. package/lib/esm/src/api/network/DmkNetworkClientHelpers.js.map +3 -3
  31. package/lib/esm/src/api/network/DmkNetworkClientHelpers.test.js +1 -1
  32. package/lib/esm/src/api/network/DmkNetworkClientHelpers.test.js.map +3 -3
  33. package/lib/esm/src/api/utils/Base64String.js +1 -1
  34. package/lib/esm/src/api/utils/Base64String.js.map +3 -3
  35. package/lib/esm/src/api/utils/Base64String.test.js +3 -1
  36. package/lib/esm/src/api/utils/Base64String.test.js.map +3 -3
  37. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +1 -1
  38. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +3 -3
  39. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +1 -1
  40. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +2 -2
  41. package/lib/types/src/api/logger-subscriber/service/WebLogsExporterLogger.d.ts.map +1 -1
  42. package/lib/types/src/api/network/DmkNetworkClient.d.ts +1 -6
  43. package/lib/types/src/api/network/DmkNetworkClient.d.ts.map +1 -1
  44. package/lib/types/src/api/network/DmkNetworkClientError.d.ts +2 -6
  45. package/lib/types/src/api/network/DmkNetworkClientError.d.ts.map +1 -1
  46. package/lib/types/src/api/network/DmkNetworkClientHelpers.d.ts +10 -7
  47. package/lib/types/src/api/network/DmkNetworkClientHelpers.d.ts.map +1 -1
  48. package/lib/types/src/api/utils/Base64String.d.ts.map +1 -1
  49. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts.map +1 -1
  50. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  51. package/package.json +4 -5
@@ -1,2 +1,4 @@
1
- import{base64StringToBuffer as i,bufferToBase64String as l,isBase64String as s}from"./Base64String";describe("Base64String",()=>{describe("isBase64String function",()=>{it("should return true if the value is a valid base64 string",()=>{const e=s("Zmlyc3QgdG/zdGluZyBz+HI9");expect(e).toBeTruthy()}),it("should return true if the value is a valid base64 string, one padding",()=>{const e=s("Zmlyc3QgdGVzdGluZyBzdHI=");expect(e).toBeTruthy()}),it("should return true if the value is a valid base64 string, two paddings",()=>{const e=s("Zmlyc3QgdGVzdGluZyBzdH==");expect(e).toBeTruthy()}),it("should return true for an empty string",()=>{const e=s("");expect(e).toBeTruthy()}),it("should return false for an invalid base64 string",()=>{const e=s("invalid base64 string");expect(e).toBeFalsy()}),it("should return false with 3 paddings",()=>{const e=s("Zmlyc3QgdGVzdGluZyBzd===");expect(e).toBeFalsy()}),it("should return false on incomplete string (not multiple of 4)",()=>{const e=s("Zmlyc3QgdGVzdGluZyBzdHI");expect(e).toBeFalsy()})}),describe("base64StringToBuffer function",()=>{beforeEach(()=>{vi.resetAllMocks()}),it("should convert empty input to empty buffer",()=>{const e=i("");expect(e).toStrictEqual(new Uint8Array)}),it("invalid base64 string converted to null",()=>{const e=i("invalid string");expect(e).toStrictEqual(null)}),it("should convert a base64 string to a buffer using browser's atob",()=>{const e=i("Zmlyc3QgdGVzdCBzdHJpbmc=");expect(e).toStrictEqual(Uint8Array.from([102,105,114,115,116,32,116,101,115,116,32,115,116,114,105,110,103]))}),it("should convert a base64 string to a buffer using Buffer",()=>{vi.spyOn(global,"atob").mockImplementation(()=>{throw new Error("atob is not defined")});const e=i("Zmlyc3QgdGVzdCBzdHJpbmc=");expect(e).toStrictEqual(Uint8Array.from([102,105,114,115,116,32,116,101,115,116,32,115,116,114,105,110,103]))})})});describe("bufferToBase64String",()=>{const t=globalThis.btoa,e=globalThis.Buffer;beforeEach(()=>{vi.restoreAllMocks(),globalThis.btoa=t,globalThis.Buffer=e}),afterAll(()=>{globalThis.btoa=t,globalThis.Buffer=e}),it("should encode an empty buffer to an empty base64 string when btoa is available",()=>{globalThis.btoa=vi.fn(o=>(expect(o).toBe(""),""));const a=new Uint8Array,n=l(a);expect(n).toBe(""),expect(globalThis.btoa).toHaveBeenCalledTimes(1)}),it("should encode a buffer to base64 using btoa when available",()=>{const a="first testing str",n=Uint8Array.from(a.split("").map(r=>r.charCodeAt(0)));globalThis.btoa=vi.fn(r=>(expect(r).toBe(a),"Zmlyc3QgdGVzdGluZyBzdHI="));const o=l(n);expect(o).toBe("Zmlyc3QgdGVzdGluZyBzdHI="),expect(globalThis.btoa).toHaveBeenCalledTimes(1)}),it("should encode a buffer to base64 using Buffer when btoa is not available",()=>{globalThis.btoa=void 0;const a="testing str",n=Buffer.from(a,"binary").toString("base64"),o=Uint8Array.from(a.split("").map(c=>c.charCodeAt(0))),r=vi.spyOn(Buffer,"from"),u=l(o);expect(u).toBe(n),expect(r).toHaveBeenCalledTimes(1)}),it("should throw an error when no Base64 encoder is available",()=>{globalThis.btoa=void 0,globalThis.Buffer=void 0;const a=Uint8Array.from([1,2,3]);expect(()=>l(a)).toThrowError("No Base64 encoder available in this environment.")}),it("should throw if an undefined byte is encountered (defensive check)",()=>{const a={length:3,0:102,1:void 0,2:111};globalThis.btoa=vi.fn(),expect(()=>l(a)).toThrowError("Unexpected undefined byte in array.")})});
1
+ import{base64StringToBuffer as l,bufferToBase64String as r,isBase64String as i}from"./Base64String";describe("Base64String",()=>{describe("isBase64String function",()=>{it("should return true if the value is a valid base64 string",()=>{const t=i("Zmlyc3QgdG/zdGluZyBz+HI9");expect(t).toBeTruthy()}),it("should return true if the value is a valid base64 string, one padding",()=>{const t=i("Zmlyc3QgdGVzdGluZyBzdHI=");expect(t).toBeTruthy()}),it("should return true if the value is a valid base64 string, two paddings",()=>{const t=i("Zmlyc3QgdGVzdGluZyBzdH==");expect(t).toBeTruthy()}),it("should return true for an empty string",()=>{const t=i("");expect(t).toBeTruthy()}),it("GIVEN a base64 string with whitespace WHEN validating THEN it returns true",()=>{const t=i(`AQID
2
+ kAA=`);expect(t).toBeTruthy()}),it("should return false for an invalid base64 string",()=>{const t=i("invalid base64 string");expect(t).toBeFalsy()}),it("should return false with 3 paddings",()=>{const t=i("Zmlyc3QgdGVzdGluZyBzd===");expect(t).toBeFalsy()}),it("should return false on incomplete string (not multiple of 4)",()=>{const t=i("Zmlyc3QgdGVzdGluZyBzdHI");expect(t).toBeFalsy()})}),describe("base64StringToBuffer function",()=>{const n=globalThis.atob,t=globalThis.Buffer,c=globalThis.window;beforeEach(()=>{vi.restoreAllMocks(),globalThis.atob=n,globalThis.Buffer=t,globalThis.window=void 0}),afterAll(()=>{globalThis.atob=n,globalThis.Buffer=t,globalThis.window=c}),it("should convert empty input to empty buffer",()=>{const a=l("");expect(a).toStrictEqual(new Uint8Array)}),it("invalid base64 string converted to null",()=>{const a=l("invalid string");expect(a).toStrictEqual(null)}),it("GIVEN a base64 string with whitespace WHEN decoding THEN it ignores the whitespace",()=>{const a=l(`AQID
3
+ kAA=`);expect(a).toStrictEqual(Uint8Array.from([1,2,3,144,0]))}),describe("runtime compatibility fallbacks",()=>{it("GIVEN window.atob is available WHEN decoding THEN it uses window.atob",()=>{const e="Zmlyc3QgdGVzdCBzdHJpbmc=",a=vi.fn(()=>"first test string"),o=vi.fn(()=>"unexpected");globalThis.window={atob:a},globalThis.atob=o;const s=l(e);expect(s).toStrictEqual(Uint8Array.from([102,105,114,115,116,32,116,101,115,116,32,115,116,114,105,110,103])),expect(a).toHaveBeenCalledWith(e),expect(o).not.toHaveBeenCalled()}),it("GIVEN global atob is available WHEN decoding THEN it uses global atob",()=>{const e="Zmlyc3QgdGVzdCBzdHJpbmc=",a=vi.fn(()=>"first test string");globalThis.atob=a;const o=l(e);expect(o).toStrictEqual(Uint8Array.from([102,105,114,115,116,32,116,101,115,116,32,115,116,114,105,110,103])),expect(a).toHaveBeenCalledWith(e)}),it("GIVEN atob is not available WHEN decoding THEN it uses Buffer",()=>{globalThis.atob=void 0;const e="Zmlyc3QgdGVzdCBzdHJpbmc=",a=vi.spyOn(Buffer,"from"),o=l(e);expect(o).toStrictEqual(Uint8Array.from([102,105,114,115,116,32,116,101,115,116,32,115,116,114,105,110,103])),expect(a).toHaveBeenCalledWith(e,"base64")}),it("GIVEN no decoder is available WHEN decoding THEN it throws",()=>{globalThis.atob=void 0,globalThis.Buffer=void 0;const e="Zmlyc3QgdGVzdCBzdHJpbmc=";expect(()=>l(e)).toThrowError("No Base64 decoder available in this environment.")})})})});describe("bufferToBase64String",()=>{const n=globalThis.btoa,t=globalThis.Buffer,c=globalThis.window;beforeEach(()=>{vi.restoreAllMocks(),globalThis.btoa=n,globalThis.Buffer=t,globalThis.window=void 0}),afterAll(()=>{globalThis.btoa=n,globalThis.Buffer=t,globalThis.window=c}),it("should encode an empty buffer to an empty base64 string when btoa is available",()=>{globalThis.btoa=vi.fn(o=>(expect(o).toBe(""),""));const e=new Uint8Array,a=r(e);expect(a).toBe(""),expect(globalThis.btoa).toHaveBeenCalledTimes(1)}),describe("runtime compatibility fallbacks",()=>{it("GIVEN global btoa is available WHEN encoding THEN it uses global btoa",()=>{const e="first testing str",a=Uint8Array.from(e.split("").map(s=>s.charCodeAt(0)));globalThis.btoa=vi.fn(s=>(expect(s).toBe(e),"Zmlyc3QgdGVzdGluZyBzdHI="));const o=r(a);expect(o).toBe("Zmlyc3QgdGVzdGluZyBzdHI="),expect(globalThis.btoa).toHaveBeenCalledTimes(1)}),it("GIVEN window.btoa is available WHEN encoding THEN it uses window.btoa",()=>{const e="first testing str",a=Uint8Array.from(e.split("").map(u=>u.charCodeAt(0))),o=vi.fn(()=>"Zmlyc3QgdGVzdGluZyBzdHI="),s=vi.fn(()=>"unexpected");globalThis.window={btoa:o},globalThis.btoa=s;const d=r(a);expect(d).toBe("Zmlyc3QgdGVzdGluZyBzdHI="),expect(o).toHaveBeenCalledWith(e),expect(s).not.toHaveBeenCalled()}),it("GIVEN btoa is not available WHEN encoding THEN it uses Buffer",()=>{globalThis.btoa=void 0;const e="testing str",a=Buffer.from(e,"binary").toString("base64"),o=Uint8Array.from(e.split("").map(u=>u.charCodeAt(0))),s=vi.spyOn(Buffer,"from"),d=r(o);expect(d).toBe(a),expect(s).toHaveBeenCalledTimes(1)}),it("GIVEN no encoder is available WHEN encoding THEN it throws",()=>{globalThis.btoa=void 0,globalThis.Buffer=void 0;const e=Uint8Array.from([1,2,3]);expect(()=>r(e)).toThrowError("No Base64 encoder available in this environment.")})}),it("should throw if an undefined byte is encountered (defensive check)",()=>{const e={length:3,0:102,1:void 0,2:111};globalThis.btoa=vi.fn(),expect(()=>r(e)).toThrowError("Unexpected undefined byte in array.")})});
2
4
  //# sourceMappingURL=Base64String.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/api/utils/Base64String.test.ts"],
4
- "sourcesContent": ["/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport {\n base64StringToBuffer,\n bufferToBase64String,\n isBase64String,\n} from \"./Base64String\";\n\ndescribe(\"Base64String\", () => {\n describe(\"isBase64String function\", () => {\n it(\"should return true if the value is a valid base64 string\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdG/zdGluZyBz+HI9\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return true if the value is a valid base64 string, one padding\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzdHI=\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return true if the value is a valid base64 string, two paddings\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzdH==\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return true for an empty string\", () => {\n // GIVEN\n const value = \"\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return false for an invalid base64 string\", () => {\n // GIVEN\n const value = \"invalid base64 string\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n\n it(\"should return false with 3 paddings\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzd===\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n\n it(\"should return false on incomplete string (not multiple of 4)\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzdHI\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n });\n\n describe(\"base64StringToBuffer function\", () => {\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"should convert empty input to empty buffer\", () => {\n // GIVEN\n const value = \"\";\n\n // WHEN\n const result = base64StringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(new Uint8Array());\n });\n\n it(\"invalid base64 string converted to null\", () => {\n // GIVEN\n const value = \"invalid string\";\n\n // WHEN\n const result = base64StringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(null);\n });\n\n it(\"should convert a base64 string to a buffer using browser's atob\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdCBzdHJpbmc=\";\n\n // WHEN\n const result = base64StringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(\n Uint8Array.from([\n 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x74, 0x65, 0x73, 0x74, 0x20,\n 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,\n ]),\n );\n });\n\n it(\"should convert a base64 string to a buffer using Buffer\", () => {\n // GIVEN\n vi.spyOn(global, \"atob\").mockImplementation(() => {\n throw new Error(\"atob is not defined\");\n });\n const value = \"Zmlyc3QgdGVzdCBzdHJpbmc=\";\n\n // WHEN\n const result = base64StringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(\n Uint8Array.from([\n 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x74, 0x65, 0x73, 0x74, 0x20,\n 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,\n ]),\n );\n });\n });\n});\n\ndescribe(\"bufferToBase64String\", () => {\n const originalBtoa = (globalThis as any).btoa;\n const originalBuffer = (globalThis as any).Buffer;\n\n beforeEach(() => {\n vi.restoreAllMocks();\n (globalThis as any).btoa = originalBtoa;\n (globalThis as any).Buffer = originalBuffer;\n });\n\n afterAll(() => {\n (globalThis as any).btoa = originalBtoa;\n (globalThis as any).Buffer = originalBuffer;\n });\n\n it(\"should encode an empty buffer to an empty base64 string when btoa is available\", () => {\n // GIVEN\n (globalThis as any).btoa = vi.fn((input: string) => {\n expect(input).toBe(\"\");\n return \"\";\n });\n\n const bytes = new Uint8Array();\n\n // WHEN\n const result = bufferToBase64String(bytes);\n\n // THEN\n expect(result).toBe(\"\");\n expect(globalThis.btoa).toHaveBeenCalledTimes(1);\n });\n\n it(\"should encode a buffer to base64 using btoa when available\", () => {\n // GIVEN\n const text = \"first testing str\";\n const bytes = Uint8Array.from(text.split(\"\").map((c) => c.charCodeAt(0)));\n\n (globalThis as any).btoa = vi.fn((input: string) => {\n expect(input).toBe(text);\n return \"Zmlyc3QgdGVzdGluZyBzdHI=\";\n });\n\n // WHEN\n const result = bufferToBase64String(bytes);\n\n // THEN\n expect(result).toBe(\"Zmlyc3QgdGVzdGluZyBzdHI=\");\n expect(globalThis.btoa).toHaveBeenCalledTimes(1);\n });\n\n it(\"should encode a buffer to base64 using Buffer when btoa is not available\", () => {\n // GIVEN\n (globalThis as any).btoa = undefined;\n\n const text = \"testing str\";\n const expectedBase64 = Buffer.from(text, \"binary\").toString(\"base64\");\n const bytes = Uint8Array.from(text.split(\"\").map((c) => c.charCodeAt(0)));\n\n const bufferFromSpy = vi.spyOn(Buffer, \"from\");\n\n // WHEN\n const result = bufferToBase64String(bytes);\n\n // THEN\n expect(result).toBe(expectedBase64);\n expect(bufferFromSpy).toHaveBeenCalledTimes(1);\n });\n\n it(\"should throw an error when no Base64 encoder is available\", () => {\n // GIVEN\n (globalThis as any).btoa = undefined;\n (globalThis as any).Buffer = undefined;\n\n const bytes = Uint8Array.from([0x01, 0x02, 0x03]);\n\n // WHEN / THEN\n expect(() => bufferToBase64String(bytes)).toThrowError(\n \"No Base64 encoder available in this environment.\",\n );\n });\n\n it(\"should throw if an undefined byte is encountered (defensive check)\", () => {\n // GIVEN\n const bytes = {\n length: 3,\n 0: 0x66,\n 1: undefined,\n 2: 0x6f,\n } as unknown as Uint8Array;\n\n (globalThis as any).btoa = vi.fn();\n\n // WHEN / THEN\n expect(() => bufferToBase64String(bytes)).toThrowError(\n \"Unexpected undefined byte in array.\",\n );\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["base64StringToBuffer", "bufferToBase64String", "isBase64String", "result", "originalBtoa", "originalBuffer", "input", "bytes", "text", "c", "expectedBase64", "bufferFromSpy"]
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport {\n base64StringToBuffer,\n bufferToBase64String,\n isBase64String,\n} from \"./Base64String\";\n\ndescribe(\"Base64String\", () => {\n describe(\"isBase64String function\", () => {\n it(\"should return true if the value is a valid base64 string\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdG/zdGluZyBz+HI9\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return true if the value is a valid base64 string, one padding\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzdHI=\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return true if the value is a valid base64 string, two paddings\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzdH==\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return true for an empty string\", () => {\n // GIVEN\n const value = \"\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"GIVEN a base64 string with whitespace WHEN validating THEN it returns true\", () => {\n // GIVEN\n const value = \"AQID\\nkAA=\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return false for an invalid base64 string\", () => {\n // GIVEN\n const value = \"invalid base64 string\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n\n it(\"should return false with 3 paddings\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzd===\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n\n it(\"should return false on incomplete string (not multiple of 4)\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzdHI\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n });\n\n describe(\"base64StringToBuffer function\", () => {\n const originalAtob = (globalThis as any).atob;\n const originalBuffer = (globalThis as any).Buffer;\n const originalWindow = (globalThis as any).window;\n\n beforeEach(() => {\n vi.restoreAllMocks();\n (globalThis as any).atob = originalAtob;\n (globalThis as any).Buffer = originalBuffer;\n (globalThis as any).window = undefined;\n });\n\n afterAll(() => {\n (globalThis as any).atob = originalAtob;\n (globalThis as any).Buffer = originalBuffer;\n (globalThis as any).window = originalWindow;\n });\n\n it(\"should convert empty input to empty buffer\", () => {\n // GIVEN\n const value = \"\";\n\n // WHEN\n const result = base64StringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(new Uint8Array());\n });\n\n it(\"invalid base64 string converted to null\", () => {\n // GIVEN\n const value = \"invalid string\";\n\n // WHEN\n const result = base64StringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(null);\n });\n\n it(\"GIVEN a base64 string with whitespace WHEN decoding THEN it ignores the whitespace\", () => {\n // GIVEN\n const value = \"AQID\\nkAA=\";\n\n // WHEN\n const result = base64StringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(\n Uint8Array.from([0x01, 0x02, 0x03, 0x90, 0x00]),\n );\n });\n\n describe(\"runtime compatibility fallbacks\", () => {\n it(\"GIVEN window.atob is available WHEN decoding THEN it uses window.atob\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdCBzdHJpbmc=\";\n const windowAtob = vi.fn(() => \"first test string\");\n const globalAtob = vi.fn(() => \"unexpected\");\n (globalThis as any).window = { atob: windowAtob };\n (globalThis as any).atob = globalAtob;\n\n // WHEN\n const result = base64StringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(\n Uint8Array.from([\n 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x74, 0x65, 0x73, 0x74, 0x20,\n 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,\n ]),\n );\n expect(windowAtob).toHaveBeenCalledWith(value);\n expect(globalAtob).not.toHaveBeenCalled();\n });\n\n it(\"GIVEN global atob is available WHEN decoding THEN it uses global atob\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdCBzdHJpbmc=\";\n const globalAtob = vi.fn(() => \"first test string\");\n (globalThis as any).atob = globalAtob;\n\n // WHEN\n const result = base64StringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(\n Uint8Array.from([\n 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x74, 0x65, 0x73, 0x74, 0x20,\n 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,\n ]),\n );\n expect(globalAtob).toHaveBeenCalledWith(value);\n });\n\n it(\"GIVEN atob is not available WHEN decoding THEN it uses Buffer\", () => {\n // GIVEN\n (globalThis as any).atob = undefined;\n const value = \"Zmlyc3QgdGVzdCBzdHJpbmc=\";\n const bufferFromSpy = vi.spyOn(Buffer, \"from\");\n\n // WHEN\n const result = base64StringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(\n Uint8Array.from([\n 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x74, 0x65, 0x73, 0x74, 0x20,\n 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,\n ]),\n );\n expect(bufferFromSpy).toHaveBeenCalledWith(value, \"base64\");\n });\n\n it(\"GIVEN no decoder is available WHEN decoding THEN it throws\", () => {\n // GIVEN\n (globalThis as any).atob = undefined;\n (globalThis as any).Buffer = undefined;\n const value = \"Zmlyc3QgdGVzdCBzdHJpbmc=\";\n\n // WHEN / THEN\n expect(() => base64StringToBuffer(value)).toThrowError(\n \"No Base64 decoder available in this environment.\",\n );\n });\n });\n });\n});\n\ndescribe(\"bufferToBase64String\", () => {\n const originalBtoa = (globalThis as any).btoa;\n const originalBuffer = (globalThis as any).Buffer;\n const originalWindow = (globalThis as any).window;\n\n beforeEach(() => {\n vi.restoreAllMocks();\n (globalThis as any).btoa = originalBtoa;\n (globalThis as any).Buffer = originalBuffer;\n (globalThis as any).window = undefined;\n });\n\n afterAll(() => {\n (globalThis as any).btoa = originalBtoa;\n (globalThis as any).Buffer = originalBuffer;\n (globalThis as any).window = originalWindow;\n });\n\n it(\"should encode an empty buffer to an empty base64 string when btoa is available\", () => {\n // GIVEN\n (globalThis as any).btoa = vi.fn((input: string) => {\n expect(input).toBe(\"\");\n return \"\";\n });\n\n const bytes = new Uint8Array();\n\n // WHEN\n const result = bufferToBase64String(bytes);\n\n // THEN\n expect(result).toBe(\"\");\n expect(globalThis.btoa).toHaveBeenCalledTimes(1);\n });\n\n describe(\"runtime compatibility fallbacks\", () => {\n it(\"GIVEN global btoa is available WHEN encoding THEN it uses global btoa\", () => {\n // GIVEN\n const text = \"first testing str\";\n const bytes = Uint8Array.from(text.split(\"\").map((c) => c.charCodeAt(0)));\n\n (globalThis as any).btoa = vi.fn((input: string) => {\n expect(input).toBe(text);\n return \"Zmlyc3QgdGVzdGluZyBzdHI=\";\n });\n\n // WHEN\n const result = bufferToBase64String(bytes);\n\n // THEN\n expect(result).toBe(\"Zmlyc3QgdGVzdGluZyBzdHI=\");\n expect(globalThis.btoa).toHaveBeenCalledTimes(1);\n });\n\n it(\"GIVEN window.btoa is available WHEN encoding THEN it uses window.btoa\", () => {\n // GIVEN\n const text = \"first testing str\";\n const bytes = Uint8Array.from(text.split(\"\").map((c) => c.charCodeAt(0)));\n const windowBtoa = vi.fn(() => \"Zmlyc3QgdGVzdGluZyBzdHI=\");\n const globalBtoa = vi.fn(() => \"unexpected\");\n (globalThis as any).window = { btoa: windowBtoa };\n (globalThis as any).btoa = globalBtoa;\n\n // WHEN\n const result = bufferToBase64String(bytes);\n\n // THEN\n expect(result).toBe(\"Zmlyc3QgdGVzdGluZyBzdHI=\");\n expect(windowBtoa).toHaveBeenCalledWith(text);\n expect(globalBtoa).not.toHaveBeenCalled();\n });\n\n it(\"GIVEN btoa is not available WHEN encoding THEN it uses Buffer\", () => {\n // GIVEN\n (globalThis as any).btoa = undefined;\n\n const text = \"testing str\";\n const expectedBase64 = Buffer.from(text, \"binary\").toString(\"base64\");\n const bytes = Uint8Array.from(text.split(\"\").map((c) => c.charCodeAt(0)));\n\n const bufferFromSpy = vi.spyOn(Buffer, \"from\");\n\n // WHEN\n const result = bufferToBase64String(bytes);\n\n // THEN\n expect(result).toBe(expectedBase64);\n expect(bufferFromSpy).toHaveBeenCalledTimes(1);\n });\n\n it(\"GIVEN no encoder is available WHEN encoding THEN it throws\", () => {\n // GIVEN\n (globalThis as any).btoa = undefined;\n (globalThis as any).Buffer = undefined;\n\n const bytes = Uint8Array.from([0x01, 0x02, 0x03]);\n\n // WHEN / THEN\n expect(() => bufferToBase64String(bytes)).toThrowError(\n \"No Base64 encoder available in this environment.\",\n );\n });\n });\n\n it(\"should throw if an undefined byte is encountered (defensive check)\", () => {\n // GIVEN\n const bytes = {\n length: 3,\n 0: 0x66,\n 1: undefined,\n 2: 0x6f,\n } as unknown as Uint8Array;\n\n (globalThis as any).btoa = vi.fn();\n\n // WHEN / THEN\n expect(() => bufferToBase64String(bytes)).toThrowError(\n \"Unexpected undefined byte in array.\",\n );\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["base64StringToBuffer", "bufferToBase64String", "isBase64String", "result", "originalAtob", "originalBuffer", "originalWindow", "value", "windowAtob", "globalAtob", "bufferFromSpy", "originalBtoa", "input", "bytes", "text", "c", "windowBtoa", "globalBtoa", "expectedBase64"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var k=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var m=(s,e,t,o)=>{for(var r=o>1?void 0:o?l(e,t):e,c=s.length-1,i;c>=0;c--)(i=s[c])&&(r=(o?i(e,t,r):i(r))||r);return o&&r&&k(e,t,r),r},p=(s,e)=>(t,o)=>e(t,o,s);import{inject as b,injectable as h}from"inversify";import S from"isomorphic-ws";import{Left as W,Right as d}from"purify-ts";import n from"url";import{secureChannelTypes as u}from"../../secure-channel/di/secureChannelTypes";import{WebSocketConnectionError as f}from"../../secure-channel/model/Errors";let a=class{webSocketBaseUrl;constructor({webSocketUrl:e}){this.webSocketBaseUrl=e}genuineCheck(e){const t=n.format({pathname:`${this.webSocketBaseUrl}/genuine`,query:e});return this._connectWebSocket(t)}installApp(e){const t=n.format({pathname:`${this.webSocketBaseUrl}/install`,query:e});return this._connectWebSocket(t)}listInstalledApps(e){const t=n.format({pathname:`${this.webSocketBaseUrl}/apps/list`,query:e});return this._connectWebSocket(t)}uninstallApp(e){const t=n.format({pathname:`${this.webSocketBaseUrl}/install`,query:e});return this._connectWebSocket(t)}updateFirmware(e){const t=n.format({pathname:`${this.webSocketBaseUrl}/install`,query:e});return this._connectWebSocket(t)}updateMcu(e){const t=n.format({pathname:`${this.webSocketBaseUrl}/mcu`,query:e});return this._connectWebSocket(t)}_connectWebSocket(e){try{return d(new S(e))}catch(t){return W(new f(t))}}};a=m([h(),p(0,b(u.DmkConfig))],a);export{a as DefaultSecureChannelDataSource};
1
+ var b=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var l=(n,e,t,o)=>{for(var r=o>1?void 0:o?m(e,t):e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(r=(o?a(e,t,r):a(r))||r);return o&&r&&b(e,t,r),r},p=(n,e)=>(t,o)=>e(t,o,n);import{inject as k,injectable as S}from"inversify";import h from"isomorphic-ws";import{Left as d,Right as u}from"purify-ts";import{buildUrl as s}from"../../../api/network/DmkNetworkClientHelpers";import{secureChannelTypes as W}from"../../secure-channel/di/secureChannelTypes";import{WebSocketConnectionError as U}from"../../secure-channel/model/Errors";let c=class{webSocketBaseUrl;constructor({webSocketUrl:e}){this.webSocketBaseUrl=e}genuineCheck(e){const t=s({baseUrl:this.webSocketBaseUrl,url:"/genuine",params:e});return this._connectWebSocket(t)}installApp(e){const t=s({baseUrl:this.webSocketBaseUrl,url:"/install",params:e});return this._connectWebSocket(t)}listInstalledApps(e){const t=s({baseUrl:this.webSocketBaseUrl,url:"/apps/list",params:e});return this._connectWebSocket(t)}uninstallApp(e){const t=s({baseUrl:this.webSocketBaseUrl,url:"/install",params:e});return this._connectWebSocket(t)}updateFirmware(e){const t=s({baseUrl:this.webSocketBaseUrl,url:"/install",params:e});return this._connectWebSocket(t)}updateMcu(e){const t=s({baseUrl:this.webSocketBaseUrl,url:"/mcu",params:e});return this._connectWebSocket(t)}_connectWebSocket(e){try{return u(new h(e))}catch(t){return d(new U(t))}}};c=l([S(),p(0,k(W.DmkConfig))],c);export{c as DefaultSecureChannelDataSource};
2
2
  //# sourceMappingURL=DefaultSecureChannelDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/secure-channel/data/DefaultSecureChannelDataSource.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport WebSocket from \"isomorphic-ws\";\nimport { Either, Left, Right } from \"purify-ts\";\nimport URL from \"url\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { secureChannelTypes } from \"@internal/secure-channel/di/secureChannelTypes\";\nimport { WebSocketConnectionError } from \"@internal/secure-channel/model/Errors\";\nimport {\n GenuineCheckParams,\n InstallAppsParams,\n ListInstalledAppsParams,\n UninstallAppsParams,\n UpdateFirmwareParams,\n UpdateMcuParams,\n} from \"@internal/secure-channel/model/Params\";\n\nimport { SecureChannelDataSource } from \"./SecureChannelDataSource\";\n\n@injectable()\nexport class DefaultSecureChannelDataSource implements SecureChannelDataSource {\n private readonly webSocketBaseUrl: string;\n\n constructor(\n @inject(secureChannelTypes.DmkConfig)\n { webSocketUrl }: DmkConfig,\n ) {\n this.webSocketBaseUrl = webSocketUrl;\n }\n\n genuineCheck(\n params: GenuineCheckParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = URL.format({\n pathname: `${this.webSocketBaseUrl}/genuine`,\n query: params,\n });\n return this._connectWebSocket(address);\n }\n\n installApp(\n params: InstallAppsParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = URL.format({\n pathname: `${this.webSocketBaseUrl}/install`,\n query: params,\n });\n return this._connectWebSocket(address);\n }\n\n listInstalledApps(\n params: ListInstalledAppsParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = URL.format({\n pathname: `${this.webSocketBaseUrl}/apps/list`,\n query: params,\n });\n return this._connectWebSocket(address);\n }\n\n uninstallApp(\n params: UninstallAppsParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = URL.format({\n pathname: `${this.webSocketBaseUrl}/install`,\n query: params,\n });\n return this._connectWebSocket(address);\n }\n\n updateFirmware(\n params: UpdateFirmwareParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = URL.format({\n pathname: `${this.webSocketBaseUrl}/install`,\n query: params,\n });\n return this._connectWebSocket(address);\n }\n\n updateMcu(\n params: UpdateMcuParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = URL.format({\n pathname: `${this.webSocketBaseUrl}/mcu`,\n query: params,\n });\n return this._connectWebSocket(address);\n }\n\n _connectWebSocket(\n address: string,\n ): Either<WebSocketConnectionError, WebSocket> {\n try {\n return Right(new WebSocket(address));\n } catch (error) {\n return Left(new WebSocketConnectionError(error));\n }\n }\n}\n"],
5
- "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YACnC,OAAOC,MAAe,gBACtB,OAAiB,QAAAC,EAAM,SAAAC,MAAa,YACpC,OAAOC,MAAS,MAGhB,OAAS,sBAAAC,MAA0B,iDACnC,OAAS,4BAAAC,MAAgC,wCAalC,IAAMC,EAAN,KAAwE,CAC5D,iBAEjB,YAEE,CAAE,aAAAC,CAAa,EACf,CACA,KAAK,iBAAmBA,CAC1B,CAEA,aACEC,EAC6C,CAC7C,MAAMC,EAAUC,EAAI,OAAO,CACzB,SAAU,GAAG,KAAK,gBAAgB,WAClC,MAAOF,CACT,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,WACED,EAC6C,CAC7C,MAAMC,EAAUC,EAAI,OAAO,CACzB,SAAU,GAAG,KAAK,gBAAgB,WAClC,MAAOF,CACT,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,kBACED,EAC6C,CAC7C,MAAMC,EAAUC,EAAI,OAAO,CACzB,SAAU,GAAG,KAAK,gBAAgB,aAClC,MAAOF,CACT,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,aACED,EAC6C,CAC7C,MAAMC,EAAUC,EAAI,OAAO,CACzB,SAAU,GAAG,KAAK,gBAAgB,WAClC,MAAOF,CACT,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,eACED,EAC6C,CAC7C,MAAMC,EAAUC,EAAI,OAAO,CACzB,SAAU,GAAG,KAAK,gBAAgB,WAClC,MAAOF,CACT,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,UACED,EAC6C,CAC7C,MAAMC,EAAUC,EAAI,OAAO,CACzB,SAAU,GAAG,KAAK,gBAAgB,OAClC,MAAOF,CACT,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,kBACEA,EAC6C,CAC7C,GAAI,CACF,OAAOE,EAAM,IAAIC,EAAUH,CAAO,CAAC,CACrC,OAASI,EAAO,CACd,OAAOC,EAAK,IAAIC,EAAyBF,CAAK,CAAC,CACjD,CACF,CACF,EA/EaP,EAANU,EAAA,CADNC,EAAW,EAKPC,EAAA,EAAAC,EAAOC,EAAmB,SAAS,IAJ3Bd",
6
- "names": ["inject", "injectable", "WebSocket", "Left", "Right", "URL", "secureChannelTypes", "WebSocketConnectionError", "DefaultSecureChannelDataSource", "webSocketUrl", "params", "address", "URL", "Right", "WebSocket", "error", "Left", "WebSocketConnectionError", "__decorateClass", "injectable", "__decorateParam", "inject", "secureChannelTypes"]
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport WebSocket from \"isomorphic-ws\";\nimport { Either, Left, Right } from \"purify-ts\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { buildUrl } from \"@api/network/DmkNetworkClientHelpers\";\nimport { secureChannelTypes } from \"@internal/secure-channel/di/secureChannelTypes\";\nimport { WebSocketConnectionError } from \"@internal/secure-channel/model/Errors\";\nimport {\n GenuineCheckParams,\n InstallAppsParams,\n ListInstalledAppsParams,\n UninstallAppsParams,\n UpdateFirmwareParams,\n UpdateMcuParams,\n} from \"@internal/secure-channel/model/Params\";\n\nimport { SecureChannelDataSource } from \"./SecureChannelDataSource\";\n\n@injectable()\nexport class DefaultSecureChannelDataSource implements SecureChannelDataSource {\n private readonly webSocketBaseUrl: string;\n\n constructor(\n @inject(secureChannelTypes.DmkConfig)\n { webSocketUrl }: DmkConfig,\n ) {\n this.webSocketBaseUrl = webSocketUrl;\n }\n\n genuineCheck(\n params: GenuineCheckParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = buildUrl({\n baseUrl: this.webSocketBaseUrl,\n url: \"/genuine\",\n params,\n });\n return this._connectWebSocket(address);\n }\n\n installApp(\n params: InstallAppsParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = buildUrl({\n baseUrl: this.webSocketBaseUrl,\n url: \"/install\",\n params,\n });\n return this._connectWebSocket(address);\n }\n\n listInstalledApps(\n params: ListInstalledAppsParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = buildUrl({\n baseUrl: this.webSocketBaseUrl,\n url: \"/apps/list\",\n params,\n });\n return this._connectWebSocket(address);\n }\n\n uninstallApp(\n params: UninstallAppsParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = buildUrl({\n baseUrl: this.webSocketBaseUrl,\n url: \"/install\",\n params,\n });\n return this._connectWebSocket(address);\n }\n\n updateFirmware(\n params: UpdateFirmwareParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = buildUrl({\n baseUrl: this.webSocketBaseUrl,\n url: \"/install\",\n params,\n });\n return this._connectWebSocket(address);\n }\n\n updateMcu(\n params: UpdateMcuParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = buildUrl({\n baseUrl: this.webSocketBaseUrl,\n url: \"/mcu\",\n params,\n });\n return this._connectWebSocket(address);\n }\n\n _connectWebSocket(\n address: string,\n ): Either<WebSocketConnectionError, WebSocket> {\n try {\n return Right(new WebSocket(address));\n } catch (error) {\n return Left(new WebSocketConnectionError(error));\n }\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YACnC,OAAOC,MAAe,gBACtB,OAAiB,QAAAC,EAAM,SAAAC,MAAa,YAGpC,OAAS,YAAAC,MAAgB,uCACzB,OAAS,sBAAAC,MAA0B,iDACnC,OAAS,4BAAAC,MAAgC,wCAalC,IAAMC,EAAN,KAAwE,CAC5D,iBAEjB,YAEE,CAAE,aAAAC,CAAa,EACf,CACA,KAAK,iBAAmBA,CAC1B,CAEA,aACEC,EAC6C,CAC7C,MAAMC,EAAUC,EAAS,CACvB,QAAS,KAAK,iBACd,IAAK,WACL,OAAAF,CACF,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,WACED,EAC6C,CAC7C,MAAMC,EAAUC,EAAS,CACvB,QAAS,KAAK,iBACd,IAAK,WACL,OAAAF,CACF,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,kBACED,EAC6C,CAC7C,MAAMC,EAAUC,EAAS,CACvB,QAAS,KAAK,iBACd,IAAK,aACL,OAAAF,CACF,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,aACED,EAC6C,CAC7C,MAAMC,EAAUC,EAAS,CACvB,QAAS,KAAK,iBACd,IAAK,WACL,OAAAF,CACF,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,eACED,EAC6C,CAC7C,MAAMC,EAAUC,EAAS,CACvB,QAAS,KAAK,iBACd,IAAK,WACL,OAAAF,CACF,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,UACED,EAC6C,CAC7C,MAAMC,EAAUC,EAAS,CACvB,QAAS,KAAK,iBACd,IAAK,OACL,OAAAF,CACF,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,kBACEA,EAC6C,CAC7C,GAAI,CACF,OAAOE,EAAM,IAAIC,EAAUH,CAAO,CAAC,CACrC,OAASI,EAAO,CACd,OAAOC,EAAK,IAAIC,EAAyBF,CAAK,CAAC,CACjD,CACF,CACF,EArFaP,EAANU,EAAA,CADNC,EAAW,EAKPC,EAAA,EAAAC,EAAOC,EAAmB,SAAS,IAJ3Bd",
6
+ "names": ["inject", "injectable", "WebSocket", "Left", "Right", "buildUrl", "secureChannelTypes", "WebSocketConnectionError", "DefaultSecureChannelDataSource", "webSocketUrl", "params", "address", "buildUrl", "Right", "WebSocket", "error", "Left", "WebSocketConnectionError", "__decorateClass", "injectable", "__decorateParam", "inject", "secureChannelTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import o from"isomorphic-ws";import{Right as t}from"purify-ts";import{WebSocketConnectionError as c}from"../../secure-channel/model/Errors";import{DefaultSecureChannelDataSource as r}from"./DefaultSecureChannelDataSource";vi.mock("isomorphic-ws",()=>({default:vi.fn().mockImplementationOnce(()=>{}).mockImplementationOnce(()=>{throw new Error("WebSocket connection failed")})}));describe("Secure Channel Data Source",()=>{describe("Connection establishment",()=>{afterEach(()=>{vi.clearAllMocks()}),it("should return an error if the WebSocket connection fails",()=>{const a=new r({webSocketUrl:"wss://test-websocket-url"})._connectWebSocket("wss://test-websocket-url/test");expect(o).toHaveBeenCalledWith("wss://test-websocket-url/test"),expect(a.extract()).toBeInstanceOf(o)}),it("should return an error if the WebSocket connection fails",()=>{const a=new r({webSocketUrl:"wss://test-websocket-url"})._connectWebSocket("wss://test-websocket-url/test");expect(a.extract()).toBeInstanceOf(c)})}),describe("Connections with different pathname",()=>{let e;beforeEach(()=>{e=new r({webSocketUrl:"wss://test-websocket-url"})}),afterEach(()=>{vi.clearAllMocks()}),it("should call _connectWebSocket with parameters for genuineCheck",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.genuineCheck({targetId:"targetId",perso:"perso"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/genuine?targetId=targetId&perso=perso")}),it("should call _connectWebSocket with parameters for listInstalledApps",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.listInstalledApps({targetId:"targetId",perso:"perso"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/apps/list?targetId=targetId&perso=perso")}),it("should call _connectWebSocket with parameters for updateMcu",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.updateMcu({targetId:"targetId",version:"version"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/mcu?targetId=targetId&version=version")}),it("should call _connectWebSocket with parameters for updateFirmware",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.updateFirmware({targetId:"targetId",perso:"perso",firmware:"firmware",firmwareKey:"firmwareKey"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey")}),it("should call _connectWebSocket with parameters for installApp",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.installApp({targetId:"targetId",perso:"perso",firmware:"firmware",firmwareKey:"firmwareKey",hash:"hash"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&hash=hash")}),it("should call _connectWebSocket with parameters for uninstallApp",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.uninstallApp({targetId:"targetId",perso:"perso",firmware:"firmware",firmwareKey:"firmwareKey",hash:"hash"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&hash=hash")})})});
1
+ import c from"isomorphic-ws";import{Right as t}from"purify-ts";import{WebSocketConnectionError as o}from"../../secure-channel/model/Errors";import{DefaultSecureChannelDataSource as a}from"./DefaultSecureChannelDataSource";vi.mock("isomorphic-ws",()=>({default:vi.fn().mockImplementationOnce(()=>{}).mockImplementationOnce(()=>{throw new Error("WebSocket connection failed")})}));describe("Secure Channel Data Source",()=>{describe("Connection establishment",()=>{afterEach(()=>{vi.clearAllMocks()}),it("should return a WebSocket if the WebSocket connection succeeds",()=>{const r=new a({webSocketUrl:"wss://test-websocket-url"})._connectWebSocket("wss://test-websocket-url/test");expect(c).toHaveBeenCalledWith("wss://test-websocket-url/test"),expect(r.extract()).toBeInstanceOf(c)}),it("should return an error if the WebSocket connection fails",()=>{const r=new a({webSocketUrl:"wss://test-websocket-url"})._connectWebSocket("wss://test-websocket-url/test");expect(r.extract()).toBeInstanceOf(o)})}),describe("Connections with different pathname",()=>{let e;beforeEach(()=>{e=new a({webSocketUrl:"wss://test-websocket-url"})}),afterEach(()=>{vi.clearAllMocks()}),it("should call _connectWebSocket with parameters for genuineCheck",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.genuineCheck({targetId:"targetId",perso:"perso"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/genuine?targetId=targetId&perso=perso")}),it("GIVEN a trailing slash base URL and special query characters WHEN genuineCheck connects THEN it builds one encoded URL string",()=>{e=new a({webSocketUrl:"wss://test-websocket-url/"}),vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.genuineCheck({targetId:"target id",perso:"perso&value"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/genuine?targetId=target%20id&perso=perso%26value")}),it("should call _connectWebSocket with parameters for listInstalledApps",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.listInstalledApps({targetId:"targetId",perso:"perso"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/apps/list?targetId=targetId&perso=perso")}),it("should call _connectWebSocket with parameters for updateMcu",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.updateMcu({targetId:"targetId",version:"version"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/mcu?targetId=targetId&version=version")}),it("should call _connectWebSocket with parameters for updateFirmware",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.updateFirmware({targetId:"targetId",perso:"perso",firmware:"firmware",firmwareKey:"firmwareKey"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey")}),it("should call _connectWebSocket with parameters for installApp",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.installApp({targetId:"targetId",perso:"perso",firmware:"firmware",firmwareKey:"firmwareKey",hash:"hash"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&hash=hash")}),it("should call _connectWebSocket with parameters for uninstallApp",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.uninstallApp({targetId:"targetId",perso:"perso",firmware:"firmware",firmwareKey:"firmwareKey",hash:"hash"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&hash=hash")})})});
2
2
  //# sourceMappingURL=DefaultSecureChannelDataSource.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.ts"],
4
- "sourcesContent": ["import WebSocket from \"isomorphic-ws\";\nimport { Right } from \"purify-ts\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { WebSocketConnectionError } from \"@internal/secure-channel/model/Errors\";\n\nimport { DefaultSecureChannelDataSource } from \"./DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"./SecureChannelDataSource\";\n\nvi.mock(\"isomorphic-ws\", () => {\n // The chained mockImplementationOnce is used to simulate the WebSocket connection success and failure respectively, the order is important\n return {\n default: vi\n .fn()\n .mockImplementationOnce(() => {})\n .mockImplementationOnce(() => {\n throw new Error(\"WebSocket connection failed\");\n }),\n };\n});\n\ndescribe(\"Secure Channel Data Source\", () => {\n describe(\"Connection establishment\", () => {\n afterEach(() => {\n vi.clearAllMocks();\n });\n\n it(\"should return an error if the WebSocket connection fails\", () => {\n // given\n const api = new DefaultSecureChannelDataSource({\n webSocketUrl: \"wss://test-websocket-url\",\n } as DmkConfig);\n\n // when\n const res = api._connectWebSocket(\"wss://test-websocket-url/test\");\n\n // then\n expect(WebSocket).toHaveBeenCalledWith(\"wss://test-websocket-url/test\");\n expect(res.extract()).toBeInstanceOf(WebSocket);\n });\n\n it(\"should return an error if the WebSocket connection fails\", () => {\n // given\n const api = new DefaultSecureChannelDataSource({\n webSocketUrl: \"wss://test-websocket-url\",\n } as DmkConfig);\n\n // when\n const res = api._connectWebSocket(\"wss://test-websocket-url/test\");\n\n // then\n expect(res.extract()).toBeInstanceOf(WebSocketConnectionError);\n });\n });\n describe(\"Connections with different pathname\", () => {\n let api: SecureChannelDataSource;\n\n beforeEach(() => {\n api = new DefaultSecureChannelDataSource({\n webSocketUrl: \"wss://test-websocket-url\",\n } as DmkConfig);\n });\n\n afterEach(() => {\n vi.clearAllMocks();\n });\n\n it(\"should call _connectWebSocket with parameters for genuineCheck\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.genuineCheck({\n targetId: \"targetId\",\n perso: \"perso\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/genuine?targetId=targetId&perso=perso\",\n );\n });\n\n it(\"should call _connectWebSocket with parameters for listInstalledApps\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.listInstalledApps({\n targetId: \"targetId\",\n perso: \"perso\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/apps/list?targetId=targetId&perso=perso\",\n );\n });\n\n it(\"should call _connectWebSocket with parameters for updateMcu\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.updateMcu({\n targetId: \"targetId\",\n version: \"version\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/mcu?targetId=targetId&version=version\",\n );\n });\n\n it(\"should call _connectWebSocket with parameters for updateFirmware\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.updateFirmware({\n targetId: \"targetId\",\n perso: \"perso\",\n firmware: \"firmware\",\n firmwareKey: \"firmwareKey\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey\",\n );\n });\n\n it(\"should call _connectWebSocket with parameters for installApp\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.installApp({\n targetId: \"targetId\",\n perso: \"perso\",\n firmware: \"firmware\",\n firmwareKey: \"firmwareKey\",\n hash: \"hash\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&hash=hash\",\n );\n });\n\n it(\"should call _connectWebSocket with parameters for uninstallApp\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.uninstallApp({\n targetId: \"targetId\",\n perso: \"perso\",\n firmware: \"firmware\",\n firmwareKey: \"firmwareKey\",\n hash: \"hash\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&hash=hash\",\n );\n });\n });\n});\n"],
5
- "mappings": "AAAA,OAAOA,MAAe,gBACtB,OAAS,SAAAC,MAAa,YAGtB,OAAS,4BAAAC,MAAgC,wCAEzC,OAAS,kCAAAC,MAAsC,mCAG/C,GAAG,KAAK,gBAAiB,KAEhB,CACL,QAAS,GACN,GAAG,EACH,uBAAuB,IAAM,CAAC,CAAC,EAC/B,uBAAuB,IAAM,CAC5B,MAAM,IAAI,MAAM,6BAA6B,CAC/C,CAAC,CACL,EACD,EAED,SAAS,6BAA8B,IAAM,CAC3C,SAAS,2BAA4B,IAAM,CACzC,UAAU,IAAM,CACd,GAAG,cAAc,CACnB,CAAC,EAED,GAAG,2DAA4D,IAAM,CAOnE,MAAMC,EALM,IAAID,EAA+B,CAC7C,aAAc,0BAChB,CAAc,EAGE,kBAAkB,+BAA+B,EAGjE,OAAOH,CAAS,EAAE,qBAAqB,+BAA+B,EACtE,OAAOI,EAAI,QAAQ,CAAC,EAAE,eAAeJ,CAAS,CAChD,CAAC,EAED,GAAG,2DAA4D,IAAM,CAOnE,MAAMI,EALM,IAAID,EAA+B,CAC7C,aAAc,0BAChB,CAAc,EAGE,kBAAkB,+BAA+B,EAGjE,OAAOC,EAAI,QAAQ,CAAC,EAAE,eAAeF,CAAwB,CAC/D,CAAC,CACH,CAAC,EACD,SAAS,sCAAuC,IAAM,CACpD,IAAIG,EAEJ,WAAW,IAAM,CACfA,EAAM,IAAIF,EAA+B,CACvC,aAAc,0BAChB,CAAc,CAChB,CAAC,EAED,UAAU,IAAM,CACd,GAAG,cAAc,CACnB,CAAC,EAED,GAAG,iEAAkE,IAAM,CAEzE,GAAG,MACDE,EACA,mBACF,EAAE,gBAAgBJ,EAAM,CAAC,CAAc,CAAC,EAGxCI,EAAI,aAAa,CACf,SAAU,WACV,MAAO,OACT,CAAC,EAGD,OACGA,EAAuC,iBAC1C,EAAE,qBACA,gEACF,CACF,CAAC,EAED,GAAG,sEAAuE,IAAM,CAE9E,GAAG,MACDA,EACA,mBACF,EAAE,gBAAgBJ,EAAM,CAAC,CAAc,CAAC,EAGxCI,EAAI,kBAAkB,CACpB,SAAU,WACV,MAAO,OACT,CAAC,EAGD,OACGA,EAAuC,iBAC1C,EAAE,qBACA,kEACF,CACF,CAAC,EAED,GAAG,8DAA+D,IAAM,CAEtE,GAAG,MACDA,EACA,mBACF,EAAE,gBAAgBJ,EAAM,CAAC,CAAc,CAAC,EAGxCI,EAAI,UAAU,CACZ,SAAU,WACV,QAAS,SACX,CAAC,EAGD,OACGA,EAAuC,iBAC1C,EAAE,qBACA,gEACF,CACF,CAAC,EAED,GAAG,mEAAoE,IAAM,CAE3E,GAAG,MACDA,EACA,mBACF,EAAE,gBAAgBJ,EAAM,CAAC,CAAc,CAAC,EAGxCI,EAAI,eAAe,CACjB,SAAU,WACV,MAAO,QACP,SAAU,WACV,YAAa,aACf,CAAC,EAGD,OACGA,EAAuC,iBAC1C,EAAE,qBACA,0GACF,CACF,CAAC,EAED,GAAG,+DAAgE,IAAM,CAEvE,GAAG,MACDA,EACA,mBACF,EAAE,gBAAgBJ,EAAM,CAAC,CAAc,CAAC,EAGxCI,EAAI,WAAW,CACb,SAAU,WACV,MAAO,QACP,SAAU,WACV,YAAa,cACb,KAAM,MACR,CAAC,EAGD,OACGA,EAAuC,iBAC1C,EAAE,qBACA,oHACF,CACF,CAAC,EAED,GAAG,iEAAkE,IAAM,CAEzE,GAAG,MACDA,EACA,mBACF,EAAE,gBAAgBJ,EAAM,CAAC,CAAc,CAAC,EAGxCI,EAAI,aAAa,CACf,SAAU,WACV,MAAO,QACP,SAAU,WACV,YAAa,cACb,KAAM,MACR,CAAC,EAGD,OACGA,EAAuC,iBAC1C,EAAE,qBACA,oHACF,CACF,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import WebSocket from \"isomorphic-ws\";\nimport { Right } from \"purify-ts\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { WebSocketConnectionError } from \"@internal/secure-channel/model/Errors\";\n\nimport { DefaultSecureChannelDataSource } from \"./DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"./SecureChannelDataSource\";\n\nvi.mock(\"isomorphic-ws\", () => {\n // The chained mockImplementationOnce is used to simulate the WebSocket connection success and failure respectively, the order is important\n return {\n default: vi\n .fn()\n .mockImplementationOnce(() => {})\n .mockImplementationOnce(() => {\n throw new Error(\"WebSocket connection failed\");\n }),\n };\n});\n\ndescribe(\"Secure Channel Data Source\", () => {\n describe(\"Connection establishment\", () => {\n afterEach(() => {\n vi.clearAllMocks();\n });\n\n it(\"should return a WebSocket if the WebSocket connection succeeds\", () => {\n // given\n const api = new DefaultSecureChannelDataSource({\n webSocketUrl: \"wss://test-websocket-url\",\n } as DmkConfig);\n\n // when\n const res = api._connectWebSocket(\"wss://test-websocket-url/test\");\n\n // then\n expect(WebSocket).toHaveBeenCalledWith(\"wss://test-websocket-url/test\");\n expect(res.extract()).toBeInstanceOf(WebSocket);\n });\n\n it(\"should return an error if the WebSocket connection fails\", () => {\n // given\n const api = new DefaultSecureChannelDataSource({\n webSocketUrl: \"wss://test-websocket-url\",\n } as DmkConfig);\n\n // when\n const res = api._connectWebSocket(\"wss://test-websocket-url/test\");\n\n // then\n expect(res.extract()).toBeInstanceOf(WebSocketConnectionError);\n });\n });\n describe(\"Connections with different pathname\", () => {\n let api: SecureChannelDataSource;\n\n beforeEach(() => {\n api = new DefaultSecureChannelDataSource({\n webSocketUrl: \"wss://test-websocket-url\",\n } as DmkConfig);\n });\n\n afterEach(() => {\n vi.clearAllMocks();\n });\n\n it(\"should call _connectWebSocket with parameters for genuineCheck\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.genuineCheck({\n targetId: \"targetId\",\n perso: \"perso\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/genuine?targetId=targetId&perso=perso\",\n );\n });\n\n it(\"GIVEN a trailing slash base URL and special query characters WHEN genuineCheck connects THEN it builds one encoded URL string\", () => {\n // given\n api = new DefaultSecureChannelDataSource({\n webSocketUrl: \"wss://test-websocket-url/\",\n } as DmkConfig);\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.genuineCheck({\n targetId: \"target id\",\n perso: \"perso&value\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/genuine?targetId=target%20id&perso=perso%26value\",\n );\n });\n\n it(\"should call _connectWebSocket with parameters for listInstalledApps\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.listInstalledApps({\n targetId: \"targetId\",\n perso: \"perso\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/apps/list?targetId=targetId&perso=perso\",\n );\n });\n\n it(\"should call _connectWebSocket with parameters for updateMcu\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.updateMcu({\n targetId: \"targetId\",\n version: \"version\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/mcu?targetId=targetId&version=version\",\n );\n });\n\n it(\"should call _connectWebSocket with parameters for updateFirmware\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.updateFirmware({\n targetId: \"targetId\",\n perso: \"perso\",\n firmware: \"firmware\",\n firmwareKey: \"firmwareKey\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey\",\n );\n });\n\n it(\"should call _connectWebSocket with parameters for installApp\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.installApp({\n targetId: \"targetId\",\n perso: \"perso\",\n firmware: \"firmware\",\n firmwareKey: \"firmwareKey\",\n hash: \"hash\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&hash=hash\",\n );\n });\n\n it(\"should call _connectWebSocket with parameters for uninstallApp\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.uninstallApp({\n targetId: \"targetId\",\n perso: \"perso\",\n firmware: \"firmware\",\n firmwareKey: \"firmwareKey\",\n hash: \"hash\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&hash=hash\",\n );\n });\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["WebSocket", "Right", "WebSocketConnectionError", "DefaultSecureChannelDataSource", "res", "api"]
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WebLogsExporterLogger.d.ts","sourceRoot":"","sources":["../../../../../../src/api/logger-subscriber/service/WebLogsExporterLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGvD,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEzE;;;KAGK;AACL,wBAAgB,wBAAwB,IAAI,CAC1C,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,KACX,OAAO,CA+CX;AAED,qBAAa,qBAAsB,YAAW,uBAAuB;IACnE,OAAO,CAAC,IAAI,CAEL;IAEP,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAI1E,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACI,gBAAgB,IAAI,IAAI;CAShC"}
1
+ {"version":3,"file":"WebLogsExporterLogger.d.ts","sourceRoot":"","sources":["../../../../../../src/api/logger-subscriber/service/WebLogsExporterLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGvD,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEzE;;;KAGK;AACL,wBAAgB,wBAAwB,IAAI,CAC1C,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,KACX,OAAO,CA+CX;AAED,qBAAa,qBAAsB,YAAW,uBAAuB;IACnE,OAAO,CAAC,IAAI,CAEL;IAEP,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAI1E,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACI,gBAAgB,IAAI,IAAI;CAWhC"}
@@ -15,11 +15,6 @@ export type DmkRequestConfig = {
15
15
  * has no timeout.
16
16
  */
17
17
  timeoutMs?: number;
18
- /**
19
- * External abort signal. Composed with the internal timeout signal, so
20
- * either one firing will abort the request.
21
- */
22
- signal?: AbortSignal;
23
18
  /**
24
19
  * How to parse the response body. Defaults to `"json"`, except for `head`
25
20
  * which always resolves to `void`.
@@ -66,7 +61,7 @@ type InternalRequestConfig = DmkRequestConfig & {
66
61
  * - URL composition (base URL + relative path + query params from an object)
67
62
  * - Automatic JSON body encoding and `Content-Type` header
68
63
  * - Default and per-request headers merging
69
- * - Request timeout via `AbortSignal.timeout`, composable with a caller signal
64
+ * - Request timeout via `AbortController`
70
65
  * - Automatic `response.ok` check with a typed {@link DmkNetworkClientError}
71
66
  * - Typed JSON / text / blob / arrayBuffer response parsing
72
67
  *
@@ -1 +1 @@
1
- {"version":3,"file":"DmkNetworkClient.d.ts","sourceRoot":"","sources":["../../../../../src/api/network/DmkNetworkClient.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,eAAe,EAIrB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC;AAEhD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,gFAAgF;IAChF,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;OAGG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,EAAE,EAAE,OAAO,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,iEAAiE;IACjE,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB,CAAC;AAEF,KAAK,qBAAqB,GAAG,gBAAgB,GAAG;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAe;gBAE9B,OAAO,GAAE,uBAA4B;IAMjD,OAAO,CAAC,QAAQ;IAMT,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAM7D,IAAI,CACT,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,OAAO,CAAC;IAMZ,GAAG,CACR,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,OAAO,CAAC;IAMZ,KAAK,CACV,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,OAAO,CAAC;IAMZ,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAMhE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IASlE;;;;;OAKG;IACU,OAAO,CAClB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,kBAAkB,CAAC;CAuD/B"}
1
+ {"version":3,"file":"DmkNetworkClient.d.ts","sourceRoot":"","sources":["../../../../../src/api/network/DmkNetworkClient.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,eAAe,EAIrB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC;AAEhD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,gFAAgF;IAChF,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,EAAE,EAAE,OAAO,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,iEAAiE;IACjE,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB,CAAC;AAEF,KAAK,qBAAqB,GAAG,gBAAgB,GAAG;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAe;gBAE9B,OAAO,GAAE,uBAA4B;IAMjD,OAAO,CAAC,QAAQ;IAMT,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAM7D,IAAI,CACT,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,OAAO,CAAC;IAMZ,GAAG,CACR,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,OAAO,CAAC;IAMZ,KAAK,CACV,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,OAAO,CAAC;IAMZ,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAMhE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IASlE;;;;;OAKG;IACU,OAAO,CAClB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,kBAAkB,CAAC;CA0D/B"}
@@ -4,20 +4,17 @@ export type DmkNetworkClientErrorParams = {
4
4
  statusText?: string;
5
5
  responseBody?: string;
6
6
  isTimeout?: boolean;
7
- isAbort?: boolean;
8
7
  cause?: unknown;
9
8
  };
10
9
  /**
11
- * Error thrown by {@link DmkNetworkClient} for HTTP, timeout, abort or
12
- * transport-level failures.
10
+ * Error thrown by {@link DmkNetworkClient} for HTTP, timeout or transport-level
11
+ * failures.
13
12
  *
14
13
  * - When the remote returned a non-2xx response, {@link status} and
15
14
  * {@link statusText} are populated and {@link responseBody} contains the
16
15
  * raw text body (best effort).
17
16
  * - When the request timed out via the client's `timeoutMs`,
18
17
  * {@link isTimeout} is `true`.
19
- * - When the request was aborted through the caller's `signal`,
20
- * {@link isAbort} is `true`.
21
18
  * - For other fetch/network failures, {@link cause} carries the original
22
19
  * error.
23
20
  */
@@ -26,7 +23,6 @@ export declare class DmkNetworkClientError extends Error {
26
23
  readonly statusText?: string;
27
24
  readonly responseBody?: string;
28
25
  readonly isTimeout: boolean;
29
- readonly isAbort: boolean;
30
26
  readonly cause?: unknown;
31
27
  constructor(params: DmkNetworkClientErrorParams);
32
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DmkNetworkClientError.d.ts","sourceRoot":"","sources":["../../../../../src/api/network/DmkNetworkClientError.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChC,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpC,SAAgB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtC,SAAgB,SAAS,EAAE,OAAO,CAAC;IACnC,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAyB,KAAK,CAAC,EAAE,OAAO,CAAC;gBAE7B,MAAM,EAAE,2BAA2B;CAUhD"}
1
+ {"version":3,"file":"DmkNetworkClientError.d.ts","sourceRoot":"","sources":["../../../../../src/api/network/DmkNetworkClientError.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChC,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpC,SAAgB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtC,SAAgB,SAAS,EAAE,OAAO,CAAC;IACnC,SAAyB,KAAK,CAAC,EAAE,OAAO,CAAC;gBAE7B,MAAM,EAAE,2BAA2B;CAShD"}
@@ -49,15 +49,19 @@ export declare function buildBodyAndHeaders(args: {
49
49
  body?: BodyInit;
50
50
  headers: Record<string, string>;
51
51
  };
52
+ export type TimeoutSignal = {
53
+ signal: AbortSignal | undefined;
54
+ cleanup: () => void;
55
+ };
52
56
  /**
53
- * Composes the effective abort signal for a request. If both a timeout and an
54
- * external signal are present, they are merged via `AbortSignal.any` so that
55
- * either one firing aborts the request.
57
+ * Builds an abort signal for request timeouts using `AbortController`.
58
+ *
59
+ * `AbortSignal.timeout` is intentionally avoided because React Native/Hermes
60
+ * does not reliably provide that static helper.
56
61
  */
57
62
  export declare function buildSignal(args: {
58
63
  timeoutMs: number | undefined;
59
- externalSignal: AbortSignal | undefined;
60
- }): AbortSignal | undefined;
64
+ }): TimeoutSignal;
61
65
  /**
62
66
  * Parses the response body according to the requested {@link DmkResponseType}.
63
67
  * Empty JSON bodies resolve to `undefined`; malformed JSON throws a
@@ -71,11 +75,10 @@ export declare function parseBody(response: Response, responseType: DmkResponseT
71
75
  export declare function safeReadText(response: Response): Promise<string | undefined>;
72
76
  /**
73
77
  * Wraps a `fetch` rejection into a typed {@link DmkNetworkClientError},
74
- * discriminating between external aborts, timeouts and generic failures.
78
+ * discriminating between request timeouts and generic failures.
75
79
  */
76
80
  export declare function wrapFetchError(args: {
77
81
  cause: unknown;
78
- externalSignal: AbortSignal | undefined;
79
82
  timeoutMs: number | undefined;
80
83
  }): DmkNetworkClientError;
81
84
  //# sourceMappingURL=DmkNetworkClientHelpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DmkNetworkClientHelpers.d.ts","sourceRoot":"","sources":["../../../../../src/api/network/DmkNetworkClientHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAE9E,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAEhE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,MAAM,CAAC;AAEhF,eAAO,MAAM,iBAAiB,qBAAqB,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAK3D;AA0BD;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAYT;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,IAAI,EAAE,MAAM,GACX,OAAO,CAGT;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,QAAQ,CAWzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C,GAAG;IAAE,IAAI,CAAC,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAmBvD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAChC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,cAAc,EAAE,WAAW,GAAG,SAAS,CAAC;CACzC,GAAG,WAAW,GAAG,SAAS,CAS1B;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,eAAe,GAC5B,OAAO,CAAC,OAAO,CAAC,CA6BlB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAM7B;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,WAAW,GAAG,SAAS,CAAC;IACxC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,GAAG,qBAAqB,CAuBxB"}
1
+ {"version":3,"file":"DmkNetworkClientHelpers.d.ts","sourceRoot":"","sources":["../../../../../src/api/network/DmkNetworkClientHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAE9E,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAEhE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,MAAM,CAAC;AAEhF,eAAO,MAAM,iBAAiB,qBAAqB,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAK3D;AA0BD;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAYT;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,IAAI,EAAE,MAAM,GACX,OAAO,CAGT;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,QAAQ,CAazD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C,GAAG;IAAE,IAAI,CAAC,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAmBvD;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAChC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,GAAG,aAAa,CAmBhB;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,eAAe,GAC5B,OAAO,CAAC,OAAO,CAAC,CA6BlB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAM7B;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,GAAG,qBAAqB,CAoBxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Base64String.d.ts","sourceRoot":"","sources":["../../../../../src/api/utils/Base64String.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAQrD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAmBrE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAyB9D"}
1
+ {"version":3,"file":"Base64String.d.ts","sourceRoot":"","sources":["../../../../../src/api/utils/Base64String.ts"],"names":[],"mappings":"AAIA,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAWrD;AAkCD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAwBrE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAqB9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultSecureChannelDataSource.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/secure-channel/data/DefaultSecureChannelDataSource.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,EAAe,MAAM,WAAW,CAAC;AAGhD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EAChB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,qBACa,8BAA+B,YAAW,uBAAuB;IAC5E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;gBAIxC,EAAE,YAAY,EAAE,EAAE,SAAS;IAK7B,YAAY,CACV,MAAM,EAAE,kBAAkB,GACzB,MAAM,CAAC,wBAAwB,EAAE,SAAS,CAAC;IAQ9C,UAAU,CACR,MAAM,EAAE,iBAAiB,GACxB,MAAM,CAAC,wBAAwB,EAAE,SAAS,CAAC;IAQ9C,iBAAiB,CACf,MAAM,EAAE,uBAAuB,GAC9B,MAAM,CAAC,wBAAwB,EAAE,SAAS,CAAC;IAQ9C,YAAY,CACV,MAAM,EAAE,mBAAmB,GAC1B,MAAM,CAAC,wBAAwB,EAAE,SAAS,CAAC;IAQ9C,cAAc,CACZ,MAAM,EAAE,oBAAoB,GAC3B,MAAM,CAAC,wBAAwB,EAAE,SAAS,CAAC;IAQ9C,SAAS,CACP,MAAM,EAAE,eAAe,GACtB,MAAM,CAAC,wBAAwB,EAAE,SAAS,CAAC;IAQ9C,iBAAiB,CACf,OAAO,EAAE,MAAM,GACd,MAAM,CAAC,wBAAwB,EAAE,SAAS,CAAC;CAO/C"}
1
+ {"version":3,"file":"DefaultSecureChannelDataSource.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/secure-channel/data/DefaultSecureChannelDataSource.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,EAAe,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EAChB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,qBACa,8BAA+B,YAAW,uBAAuB;IAC5E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;gBAIxC,EAAE,YAAY,EAAE,EAAE,SAAS;IAK7B,YAAY,CACV,MAAM,EAAE,kBAAkB,GACzB,MAAM,CAAC,wBAAwB,EAAE,SAAS,CAAC;IAS9C,UAAU,CACR,MAAM,EAAE,iBAAiB,GACxB,MAAM,CAAC,wBAAwB,EAAE,SAAS,CAAC;IAS9C,iBAAiB,CACf,MAAM,EAAE,uBAAuB,GAC9B,MAAM,CAAC,wBAAwB,EAAE,SAAS,CAAC;IAS9C,YAAY,CACV,MAAM,EAAE,mBAAmB,GAC1B,MAAM,CAAC,wBAAwB,EAAE,SAAS,CAAC;IAS9C,cAAc,CACZ,MAAM,EAAE,oBAAoB,GAC3B,MAAM,CAAC,wBAAwB,EAAE,SAAS,CAAC;IAS9C,SAAS,CACP,MAAM,EAAE,eAAe,GACtB,MAAM,CAAC,wBAAwB,EAAE,SAAS,CAAC;IAS9C,iBAAiB,CACf,OAAO,EAAE,MAAM,GACd,MAAM,CAAC,wBAAwB,EAAE,SAAS,CAAC;CAO/C"}