diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js index 944bf6743e4244b63e6207b0b8953048fa3a9646..f96df4b886d368a0c367c60f74d09178c170cc67 100644 --- a/javascript/src/iframe/viamapi-iframe.js +++ b/javascript/src/iframe/viamapi-iframe.js @@ -6,7 +6,8 @@ import { stringToUtf8Base64, utf8Base64ToString, base64ToByteArray, - byteArrayToBase64 + byteArrayToBase64, + hexStringToUtf8ByteArray } from "../utilities/stringUtilities"; import { extractMessageID } from "../helpers/mailparser"; @@ -1950,6 +1951,11 @@ const connection = Penpal.connectToParent({ result(byteArrayToBase64(ba)); }); }, + hexStringToUtf8ByteArray(str) { + return new Penpal.Promise(result => { + result(hexStringToUtf8ByteArray(str)); + }); + }, // Collabora APIs collaboraDiscovery() { diff --git a/javascript/src/utilities/stringUtilities.js b/javascript/src/utilities/stringUtilities.js index 1e2e39d9655873a3a1779f7253505c6adb7c7851..e2899b1aac162a706ed830c45ad70633effc08f5 100644 --- a/javascript/src/utilities/stringUtilities.js +++ b/javascript/src/utilities/stringUtilities.js @@ -51,3 +51,11 @@ export const byteArrayToBase64 = ba => { const res = ba.toString("base64"); return res; }; + +export const hexStringToUtf8ByteArray = str => { + if (typeof str !== "string") { + str = str.toString(); + } + const res = Buffer.from(str, "hex"); + return res; +};