import fs from 'fs' import path from 'path' import store from './store.js' /** @type {import('@adiwajshing/baileys')} */ const { BufferJSON } = (await import('@adiwajshing/baileys')).default /** * * @param {string} fileSingle * @param {string} folderMulti * @param {Awaited>} authState */ export default async function single2multi(fileSingle, folderMulti, authState) { const authSingleResult = JSON.parse(await fs.promises.readFile(fileSingle, 'utf8'), BufferJSON.reviver) const authSingleCreds = authSingleResult.creds || {} const authSingleKeys = authSingleResult.keys || {} const writeData = (data, file) => { return fs.promises.writeFile(path.join(folderMulti, store.fixFileName(file)), JSON.stringify(data, store.JSONreplacer)) } const getKeyByValue = (obj, value) => { return Object.keys(obj).find(key => obj[key] === value) } const keys = Object.fromEntries(Object.entries(authSingleKeys).map(([key, value]) => (value && [getKeyByValue(store.KEY_MAP, key), value])).filter(Boolean)) await Promise.all([ writeData(authSingleCreds, 'creds.json'), authState.state.keys.set(keys), ]) }