Minha área de estudo não é js mas vou tentar aqui.
Pelo que me parece, a função retorna undefined porque o resultado da chamada assíncrona não é tratado direito.
Para resolver fiquei em duvida tbm, recoerri ao ChatGPT e ele falou o seguinte:
Para corrigir esse problema, é necessário usar a sintaxe async/await ou retornar uma Promise para garantir que a função aguarde a resposta da consulta ao banco de dados antes de retornar o resultado
export async function verifyProjectByName(nome) {
try {
const db = await openDb();
const data = await db.get("SELECT nome FROM Projectos WHERE nome = ?", [nome]);
if (data && data.nome) {
return false;
} else {
return true;
}
} catch (erro) {
console.log("Erro ao verificar projeto: ", erro);
throw erro;
}
}
Eu não testei. Mas deve funcionar