} Skip to content

Changelog

  • 🔍 Método search() Aprimorado: Nova funcionalidade de busca com suporte a profundidade
    • Busca por chaves aninhadas usando notação de ponto
    • Parâmetro depth para controlar profundidade da busca
    • Suporte a busca em objetos complexos e arrays
  • 🛡️ Validação Aprimorada no MemoryDriver:
    • Validação de parâmetros obrigatórios (table, key)
    • Método clear() para limpeza completa da memória
    • Método getStats() para estatísticas de uso
  • 🔧 Novos Tipos de Erro:
    • CONNECTION_FAILED
    • TABLE_NOT_FOUND
    • DRIVER_NOT_INITIALIZED
    • VALIDATION_FAILED
  • 📚 Documentação Completa: Arquivo HELPER_DB_DOCUMENTATION.md atualizado
  • 🎯 Performance do Search: Busca otimizada com controle de profundidade
  • 🛡️ Tratamento de Erros: Categorização mais específica de problemas
  • Melhor tratamento de casos edge no método search()
  • Validação robusta de entrada no MemoryDriver
// Busca simples
const resultados = await db.search("João");
// Busca com profundidade específica
const usuarios = await db.search("admin", "user.role", { depth: 2 });
// Busca em objetos aninhados
const enderecos = await db.search("São Paulo", "endereco.cidade", {
caseSensitive: false,
depth: 3
});
const { HelperDB, MemoryDriver } = require('helper.db');
const cache = new HelperDB({
driver: new MemoryDriver(),
table: "sessoes"
});
await cache.init();
// Validação automática de parâmetros
await cache.set("user:123", { nome: "João" }); // ✅ Válido
// await cache.set("", { dados }); // ❌ Erro de validação
// Limpeza completa
cache.driver.clear();
// Estatísticas detalhadas
const stats = cache.driver.getStats();
console.log(stats);
// {
// sessoes: {
// rows: 150,
// sizeEstimate: 25000
// }
// }
try {
await db.set("chave", "valor");
} catch (error) {
switch(error.type) {
case 'CONNECTION_FAILED':
console.log('Erro de conexão com o banco');
break;
case 'TABLE_NOT_FOUND':
console.log('Tabela não encontrada');
break;
case 'DRIVER_NOT_INITIALIZED':
console.log('Driver não foi inicializado');
break;
case 'VALIDATION_FAILED':
console.log('Dados inválidos:', error.details);
break;
default:
console.log('Erro desconhecido:', error.message);
}
}

Mantenha-se atualizado: Acompanhe as novidades no GitHub