UNPKG

@rbac/rbac

Version:

Blazing Fast, Zero dependency, Hierarchical Role-Based Access Control for Node.js

41 lines (33 loc) 1.85 kB
// 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);