Changelog
📋 Changelog
Section titled “📋 Changelog”[1.4.2] - 🚀 ATUAL
Section titled “[1.4.2] - 🚀 ATUAL”✨ Adicionado
Section titled “✨ Adicionado”- 🔍 Método
search()Aprimorado: Nova funcionalidade de busca com suporte a profundidade- Busca por chaves aninhadas usando notação de ponto
- Parâmetro
depthpara 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_FAILEDTABLE_NOT_FOUNDDRIVER_NOT_INITIALIZEDVALIDATION_FAILED
🔧 Melhorado
Section titled “🔧 Melhorado”- 📚 Documentação Completa: Arquivo
HELPER_DB_DOCUMENTATION.mdatualizado - 🎯 Performance do Search: Busca otimizada com controle de profundidade
- 🛡️ Tratamento de Erros: Categorização mais específica de problemas
🐛 Corrigido
Section titled “🐛 Corrigido”- Melhor tratamento de casos edge no método
search() - Validação robusta de entrada no MemoryDriver
Exemplos das Novas Funcionalidades
Section titled “Exemplos das Novas Funcionalidades”🔍 Busca com Profundidade
Section titled “🔍 Busca com Profundidade”// Busca simplesconst resultados = await db.search("João");
// Busca com profundidade específicaconst usuarios = await db.search("admin", "user.role", { depth: 2 });
// Busca em objetos aninhadosconst enderecos = await db.search("São Paulo", "endereco.cidade", { caseSensitive: false, depth: 3});🛡️ MemoryDriver Aprimorado
Section titled “🛡️ MemoryDriver Aprimorado”const { HelperDB, MemoryDriver } = require('helper.db');
const cache = new HelperDB({ driver: new MemoryDriver(), table: "sessoes"});
await cache.init();
// Validação automática de parâmetrosawait cache.set("user:123", { nome: "João" }); // ✅ Válido// await cache.set("", { dados }); // ❌ Erro de validação
// Limpeza completacache.driver.clear();
// Estatísticas detalhadasconst stats = cache.driver.getStats();console.log(stats);// {// sessoes: {// rows: 150,// sizeEstimate: 25000// }// }🔧 Tratamento de Erros Aprimorado
Section titled “🔧 Tratamento de Erros Aprimorado”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