@rbac/rbac
Version:
Blazing Fast, Zero dependency, Hierarchical Role-Based Access Control for Node.js
41 lines (33 loc) • 1.85 kB
JavaScript
// Visual test to see colors in action
const RBAC = require('./lib/rbac').default;
const roles = {
admin: { can: ['user:read', 'user:write', 'user:delete'] },
user: { can: ['user:read'] }
};
console.log('╔════════════════════════════════════════════════════════════╗');
console.log('║ TESTE VISUAL DE CORES NO LOGGER RBAC ║');
console.log('╚════════════════════════════════════════════════════════════╝\n');
async function runTests() {
console.log('🎨 Teste 1: Cores HABILITADAS (colors: true)');
console.log('─'.repeat(60));
const rbacColors = RBAC({ enableLogger: true, colors: true })(roles);
await rbacColors.can('admin', 'user:read');
await rbacColors.can('user', 'user:write');
console.log('');
console.log('📝 Teste 2: Cores DESABILITADAS (colors: false)');
console.log('─'.repeat(60));
const rbacNoColors = RBAC({ enableLogger: true, colors: false })(roles);
await rbacNoColors.can('admin', 'user:read');
await rbacNoColors.can('user', 'user:write');
console.log('');
console.log('🔍 Teste 3: Detecção AUTOMÁTICA (padrão)');
console.log('─'.repeat(60));
const rbacAuto = RBAC({ enableLogger: true })(roles);
await rbacAuto.can('admin', 'user:delete');
console.log('');
console.log('✅ Testes concluídos!');
console.log('\nNOTA: Se você vê códigos como \\x1b[1;32m no Teste 1,');
console.log('seu terminal não suporta cores ANSI. Isso é normal em');
console.log('alguns ambientes (ex: output redirecionado, alguns IDEs).');
}
runTests().catch(console.error);