From 50a4069893e5bef2d6532982a0f4e2db518c2055 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damir=20Jeli=C4=87?= Date: Tue, 13 Oct 2020 15:58:35 +0200 Subject: [PATCH] electron-main: Refactor out the randomArray method. --- src/electron-main.js | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/electron-main.js b/src/electron-main.js index b736299..1c45577 100644 --- a/src/electron-main.js +++ b/src/electron-main.js @@ -262,6 +262,18 @@ const deleteContents = async (p) => { } }; +async function randomArray(size) { + return new Promise((resolve, reject) => { + crypto.randomBytes(size, (err, buf) => { + if (err) { + reject(err); + } else { + resolve(buf.toString("base64").replace(/=+$/g, '')); + } + }); + }); +} + // handle uncaught errors otherwise it displays // stack traces in popup dialogs, which is terrible (which // it will do any time the auto update poke fails, and there's @@ -439,16 +451,7 @@ ipcMain.on('ipcCall', async function(ev, payload) { case 'createPickleKey': try { - const randomArray = await new Promise((resolve, reject) => { - crypto.randomBytes(32, (err, buf) => { - if (err) { - reject(err); - } else { - resolve(buf); - } - }); - }); - const pickleKey = randomArray.toString("base64").replace(/=+$/g, ''); + const pickleKey = await randomArray(32); await keytar.setPassword("element.io", `${args[0]}|${args[1]}`, pickleKey); ret = pickleKey; } catch (e) {