{"_id":"@anpdgovbr/rbac-core","_rev":"11-3e646a26640ccba60be69ed586aa6fd6","name":"@anpdgovbr/rbac-core","dist-tags":{"beta":"0.1.1-beta.4","latest":"0.2.0"},"versions":{"0.1.0-beta.0":{"name":"@anpdgovbr/rbac-core","version":"0.1.0-beta.0","license":"MIT","_id":"@anpdgovbr/rbac-core@0.1.0-beta.0","maintainers":[{"name":"lucianoedipo","email":"lucianoedipo@gmail.com"}],"homepage":"https://github.com/anpdgovbr/rbac#readme","bugs":{"url":"https://github.com/anpdgovbr/rbac/issues"},"dist":{"shasum":"41db6984c4639d9ea3795641b5eedeb9b76db994","tarball":"https://registry.npmjs.org/@anpdgovbr/rbac-core/-/rbac-core-0.1.0-beta.0.tgz","fileCount":6,"integrity":"sha512-KoUrRAdz2d/sqecOXSSASpSDoEUA+FgYkDeCDdeeARDZ0zGF1XdFZJvRN8Skxv62c0dJQTVUFYqelIrdkY412Q==","signatures":[{"sig":"MEUCIQCZEer21C8aO21HjJRjZ4+5fzUxknX7H3OWOAHsDU4dGgIgYSy2j2Kvng4EZlitjluLQJpek0D7wlsgY/zb1ABmXPA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4034},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","private":false,"scripts":{"test":"node --test dist/test","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"lucianoedipo","email":"lucianoedipo@gmail.com"},"repository":{"url":"git+https://github.com/anpdgovbr/rbac.git","type":"git"},"_npmVersion":"11.5.1","description":"Core de RBAC (tipos e utilitários) para projetos ANPD.","directories":{},"sideEffects":false,"_nodeVersion":"24.7.0","publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/rbac-core_0.1.0-beta.0_1756742580693_0.00007461332666802711","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.1":{"name":"@anpdgovbr/rbac-core","version":"0.1.0-beta.1","license":"MIT","_id":"@anpdgovbr/rbac-core@0.1.0-beta.1","maintainers":[{"name":"lucianoedipo","email":"lucianoedipo@gmail.com"}],"homepage":"https://github.com/anpdgovbr/rbac#readme","bugs":{"url":"https://github.com/anpdgovbr/rbac/issues"},"dist":{"shasum":"0d0a0058d9fb4ae02fc80af68be42cacdb14b1d1","tarball":"https://registry.npmjs.org/@anpdgovbr/rbac-core/-/rbac-core-0.1.0-beta.1.tgz","fileCount":6,"integrity":"sha512-VNWpyQeYjkr9h2hS2SlpXcJeIOCWUORKuq/5r/0t7mKW1G+UuBRSNaF5UEGNZSnZb+5nHEjn1pKTRR0huVOmLw==","signatures":[{"sig":"MEQCIDNJpuqOB4qdz68AYhuDyxvh9jbkGoHuSgzMwkNv4930AiBZVK+RzCSim3ZB7EqEA5FguMk/n0L/Uffc/UmtDuj9eQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4042},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","private":false,"scripts":{"test":"node --test dist/test","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"lucianoedipo","email":"lucianoedipo@gmail.com"},"repository":{"url":"git+https://github.com/anpdgovbr/rbac.git","type":"git"},"_npmVersion":"11.5.1","description":"Core de RBAC (tipos e utilitários) para projetos ANPD.","directories":{},"sideEffects":false,"_nodeVersion":"24.7.0","publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/rbac-core_0.1.0-beta.1_1756743510410_0.7269507709495477","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.2":{"name":"@anpdgovbr/rbac-core","version":"0.1.0-beta.2","license":"MIT","_id":"@anpdgovbr/rbac-core@0.1.0-beta.2","maintainers":[{"name":"lucianoedipo","email":"lucianoedipo@gmail.com"}],"homepage":"https://github.com/anpdgovbr/rbac#readme","bugs":{"url":"https://github.com/anpdgovbr/rbac/issues"},"dist":{"shasum":"30332373d0d7ae57df58de6ca60e1539d5e1e97a","tarball":"https://registry.npmjs.org/@anpdgovbr/rbac-core/-/rbac-core-0.1.0-beta.2.tgz","fileCount":6,"integrity":"sha512-f7GBfWIhGoVS0vhhdWOVzjui81w9iNN29ZlHXJ5dfcHLu6UKK+C9zfmsOaab1tekVWMyJ6LwIsRd//yGTBnNIw==","signatures":[{"sig":"MEYCIQCo1DzdLlEAMCq0jseJMeaoQpcdd96xBXDuktpUCEI1JQIhANJvUzN54X38FxO0OrQqna39QiOAU924CrXWBjRZkWt2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4165},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"private":false,"scripts":{"test":"node --test dist/test","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"lucianoedipo","email":"lucianoedipo@gmail.com"},"repository":{"url":"git+https://github.com/anpdgovbr/rbac.git","type":"git"},"_npmVersion":"11.5.1","description":"Core de RBAC (tipos e utilitários) para projetos ANPD.","directories":{},"sideEffects":false,"_nodeVersion":"24.7.0","publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/rbac-core_0.1.0-beta.2_1756747584231_0.7753678274661553","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.3":{"name":"@anpdgovbr/rbac-core","version":"0.1.0-beta.3","license":"MIT","_id":"@anpdgovbr/rbac-core@0.1.0-beta.3","maintainers":[{"name":"lucianoedipo","email":"lucianoedipo@gmail.com"}],"homepage":"https://github.com/anpdgovbr/rbac#readme","bugs":{"url":"https://github.com/anpdgovbr/rbac/issues"},"dist":{"shasum":"660c56c18c7f474b2d438dcb0bdde94c10df298a","tarball":"https://registry.npmjs.org/@anpdgovbr/rbac-core/-/rbac-core-0.1.0-beta.3.tgz","fileCount":6,"integrity":"sha512-tN7fBQEhkMn5j0tdW+23mwRmphom6Fu4UMkNEN8HDMHQIwJc9Q0QsLAr62QK59tbhO7/22J27GnmUOIKk+pufg==","signatures":[{"sig":"MEUCIFMTWp3fpiPT7qj6rMPGfTk3yXtnUF/i/KTRt69Vg/EjAiEArLG9E/2XZs4+ZE5brOtAmVlNuaUmyhjeXcS6xbizeA8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14174},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"private":false,"scripts":{"test":"node --test dist/test","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"lucianoedipo","email":"lucianoedipo@gmail.com"},"repository":{"url":"git+https://github.com/anpdgovbr/rbac.git","type":"git"},"_npmVersion":"11.5.1","description":"Core de RBAC (tipos e utilitários) para projetos ANPD.","directories":{},"sideEffects":false,"_nodeVersion":"24.7.0","publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/rbac-core_0.1.0-beta.3_1756757690280_0.9343578886069717","host":"s3://npm-registry-packages-npm-production"}},"0.1.1-beta.3":{"name":"@anpdgovbr/rbac-core","version":"0.1.1-beta.3","license":"MIT","_id":"@anpdgovbr/rbac-core@0.1.1-beta.3","maintainers":[{"name":"lucianoedipo","email":"lucianoedipo@gmail.com"}],"homepage":"https://github.com/anpdgovbr/rbac#readme","bugs":{"url":"https://github.com/anpdgovbr/rbac/issues"},"dist":{"shasum":"a067292337de1b90e48ad1d1ed4b9c3357ba78d8","tarball":"https://registry.npmjs.org/@anpdgovbr/rbac-core/-/rbac-core-0.1.1-beta.3.tgz","fileCount":6,"integrity":"sha512-rK/W29uXtzMMLlbsMV3ba4Q+p+T2nONcZ7YJ0s4FNeXKYF2hd+wB9/teMKYUtcnoRVy0kRK/PTEUx1GTrh0RKg==","signatures":[{"sig":"MEUCIQDIjUJi/41RwFBIQEe+yy9c+HbBLEyEXMwCLzv4ZfbqtQIgAmhuqObXqCK8WVsiVTkF8rQhI9VSkVuTdV8uKSYvhJg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14252},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"private":false,"scripts":{"ncu":"ncu","test":"node --test dist/test","build":"tsc -p tsconfig.json","ncu:check":"ncu","typecheck":"tsc -p tsconfig.json --noEmit","ncu:update":"ncu -u"},"_npmUser":{"name":"lucianoedipo","email":"lucianoedipo@gmail.com"},"repository":{"url":"git+https://github.com/anpdgovbr/rbac.git","type":"git"},"_npmVersion":"11.5.1","description":"Core de RBAC (tipos e utilitários) para projetos ANPD.","directories":{},"sideEffects":false,"_nodeVersion":"24.7.0","publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/rbac-core_0.1.1-beta.3_1756760601862_0.9584194896375737","host":"s3://npm-registry-packages-npm-production"}},"0.1.1-beta.4":{"name":"@anpdgovbr/rbac-core","version":"0.1.1-beta.4","license":"MIT","_id":"@anpdgovbr/rbac-core@0.1.1-beta.4","maintainers":[{"name":"lucianoedipo","email":"lucianoedipo@gmail.com"}],"homepage":"https://github.com/anpdgovbr/rbac#readme","bugs":{"url":"https://github.com/anpdgovbr/rbac/issues"},"dist":{"shasum":"f6b056e54ee8d72781878aa9d5ae89f64ce112ab","tarball":"https://registry.npmjs.org/@anpdgovbr/rbac-core/-/rbac-core-0.1.1-beta.4.tgz","fileCount":8,"integrity":"sha512-KkgCezzXemqYwV8auoR4SyfFthi6UV58nggQuQCjsHmsCL/inAKDyjASKnYXuuqfYDgYV5xSL6DkLGswCZ34Gg==","signatures":[{"sig":"MEYCIQCDGN/0FIlBpiZylXuOkvTkjDCLROxxT7XHy/Z0qA739AIhAIIBq/Jwtg3atuuI5jvtXLPE+fitZxFFEbi1rNvvv4tr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15671},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"private":false,"scripts":{"ncu":"ncu","test":"node --test 'dist/**/*.test.js'","build":"tsc -p tsconfig.json","ncu:check":"ncu","typecheck":"tsc -p tsconfig.json --noEmit","ncu:update":"ncu -u"},"_npmUser":{"name":"lucianoedipo","email":"lucianoedipo@gmail.com"},"repository":{"url":"git+https://github.com/anpdgovbr/rbac.git","type":"git"},"_npmVersion":"10.9.2","description":"Core de RBAC (tipos e utilitários) para projetos ANPD.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","publishConfig":{"tag":"beta","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.9.2"},"_npmOperationalInternal":{"tmp":"tmp/rbac-core_0.1.1-beta.4_1756784281490_0.883630638151202","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@anpdgovbr/rbac-core","version":"0.1.2","license":"MIT","_id":"@anpdgovbr/rbac-core@0.1.2","maintainers":[{"name":"lucianoedipo","email":"lucianoedipo@gmail.com"}],"homepage":"https://github.com/anpdgovbr/rbac#readme","bugs":{"url":"https://github.com/anpdgovbr/rbac/issues"},"dist":{"shasum":"2ca15c8e2f16afcff6c47f18f873088f9a88b849","tarball":"https://registry.npmjs.org/@anpdgovbr/rbac-core/-/rbac-core-0.1.2.tgz","fileCount":8,"integrity":"sha512-hWj33ntYVwhDT+PQUjJljEet0T7b1s6u6AttSmhKt7vbp2dB5cdW2Ls5f9q7pKQxWPAzqjfHFTGma0VZIxmWRw==","signatures":[{"sig":"MEQCIEZLwn5DRWlbZkxpF1KWB3oEV6JGnWpATiweXvPRGiIeAiBza/QfEahksccIexj/eM0vAXS5RomPlt3eOoOxdWtZ4Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15555},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"825d30b22d80fef90a94b9c66cf4994fc41c9111","private":false,"scripts":{"ncu":"ncu","test":"node --test dist/test/*.test.js","build":"tsc -p tsconfig.json","ncu:check":"ncu","typecheck":"tsc -p tsconfig.json --noEmit","ncu:update":"ncu -u"},"_npmUser":{"name":"lucianoedipo","email":"lucianoedipo@gmail.com"},"repository":{"url":"git+https://github.com/anpdgovbr/rbac.git","type":"git"},"_npmVersion":"11.5.1","description":"Core de RBAC (tipos e utilitários) para projetos ANPD.","directories":{},"sideEffects":false,"_nodeVersion":"24.7.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2"},"_npmOperationalInternal":{"tmp":"tmp/rbac-core_0.1.2_1756842688716_0.6883257440033133","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@anpdgovbr/rbac-core","version":"0.1.3","license":"MIT","_id":"@anpdgovbr/rbac-core@0.1.3","maintainers":[{"name":"lucianoedipo","email":"lucianoedipo@gmail.com"}],"homepage":"https://github.com/anpdgovbr/rbac#readme","bugs":{"url":"https://github.com/anpdgovbr/rbac/issues"},"dist":{"shasum":"e25f8a1b85ea0eccd3cd99eb5c98f92fa15f51a6","tarball":"https://registry.npmjs.org/@anpdgovbr/rbac-core/-/rbac-core-0.1.3.tgz","fileCount":8,"integrity":"sha512-f+oeCSMne/qZ2r2uf+EcBExGovdS4LPvXHRYQ4xdstNPP/0pids0W8nWOAaSUnLTdzLpjXcB+qfPjFAKsRtrYQ==","signatures":[{"sig":"MEUCIFQV7B+GRc+CKNJd8T/u1Z9XAbAYpOeyPivSBccC2IHCAiEA0pSM7/osqDr3mxe5Qn0FH2w1HJwJMt09XHB+jfCkybM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15569},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"977699cc9e1f36934e06056e4549abced10405c7","private":false,"scripts":{"ncu":"ncu","test":"node --test dist/test/*.test.js","build":"tsc -p tsconfig.json","ncu:check":"ncu","typecheck":"tsc -p tsconfig.json --noEmit","ncu:update":"ncu -u"},"_npmUser":{"name":"lucianoedipo","email":"lucianoedipo@gmail.com"},"repository":{"url":"git+https://github.com/anpdgovbr/rbac.git","type":"git"},"_npmVersion":"11.6.0","description":"Core de RBAC (tipos e utilitários) para projetos ANPD.","directories":{},"sideEffects":false,"_nodeVersion":"22.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2"},"_npmOperationalInternal":{"tmp":"tmp/rbac-core_0.1.3_1758424995201_0.3719243018463896","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@anpdgovbr/rbac-core","version":"0.1.4","license":"MIT","_id":"@anpdgovbr/rbac-core@0.1.4","maintainers":[{"name":"lucianoedipo","email":"lucianoedipo@gmail.com"}],"homepage":"https://github.com/anpdgovbr/rbac#readme","bugs":{"url":"https://github.com/anpdgovbr/rbac/issues"},"dist":{"shasum":"f02e50d9d1bfd4335cbc06e75218a12a8e8f84f8","tarball":"https://registry.npmjs.org/@anpdgovbr/rbac-core/-/rbac-core-0.1.4.tgz","fileCount":8,"integrity":"sha512-945+ytLcraSveTzjABYlXCkIbNCJC3bLNeNEVK8lEA7nDIEr49HvZQksCbuNW1H84FcqKl9iJs4l9AavsGxiOA==","signatures":[{"sig":"MEUCIQC6inUm4Bj2q430qP91nxCWlw5/C1BjnkGt7e0g/NbuuwIgAyMmtVDQDYFYMs/2Jpab4VtjVboihK0nLJ0JAlcJdAU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15569},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"03af2a5a0454322fe025bc309c97d5e411eb248c","private":false,"scripts":{"ncu":"ncu","test":"node --test dist/test/*.test.js","build":"tsc -p tsconfig.json","ncu:check":"ncu","typecheck":"tsc -p tsconfig.json --noEmit","ncu:update":"ncu -u"},"_npmUser":{"name":"lucianoedipo","email":"lucianoedipo@gmail.com"},"repository":{"url":"git+https://github.com/anpdgovbr/rbac.git","type":"git"},"_npmVersion":"11.6.2","description":"Core de RBAC (tipos e utilitários) para projetos ANPD.","directories":{},"sideEffects":false,"_nodeVersion":"24.7.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/rbac-core_0.1.4_1759974722812_0.17512395073596387","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@anpdgovbr/rbac-core","version":"0.2.0","private":false,"type":"module","main":"dist/src/index.js","types":"dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"sideEffects":false,"description":"Core de RBAC (tipos e utilitários) para projetos ANPD.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/anpdgovbr/rbac.git"},"publishConfig":{"access":"public"},"devDependencies":{"@types/node":"^20.19.24","typescript":"^5.9.3"},"scripts":{"build":"tsc --build","typecheck":"tsc --build --noEmit","test":"node --test dist/test/*.test.js","ncu":"ncu","ncu:check":"ncu","ncu:update":"ncu -u"},"_id":"@anpdgovbr/rbac-core@0.2.0","bugs":{"url":"https://github.com/anpdgovbr/rbac/issues"},"homepage":"https://github.com/anpdgovbr/rbac#readme","_integrity":"sha512-9wSy2kjXq6t8OgsRHYMOEEecUmzoPdD04Ao4wV0ejq0YHE1eG5MuUEaMYoJS1W3hS+8k3NdTxugksGaSePgBPA==","_resolved":"/tmp/ce1527679403a224f5e090c8183acdce/anpdgovbr-rbac-core-0.2.0.tgz","_from":"file:anpdgovbr-rbac-core-0.2.0.tgz","_nodeVersion":"24.7.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-9wSy2kjXq6t8OgsRHYMOEEecUmzoPdD04Ao4wV0ejq0YHE1eG5MuUEaMYoJS1W3hS+8k3NdTxugksGaSePgBPA==","shasum":"1ff3898c110ee4952920bdc04eac198407f6ce39","tarball":"https://registry.npmjs.org/@anpdgovbr/rbac-core/-/rbac-core-0.2.0.tgz","fileCount":12,"unpackedSize":57985,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDg1gNrkgQqTDCwwqXFolWMfooIHgC0RWolQUujCORTkQIhANEBZnsziBOXdpIrbY73fG6ZidR6s5pRDqVsabrvxuzD"}]},"_npmUser":{"name":"lucianoedipo","email":"lucianoedipo@gmail.com"},"directories":{},"maintainers":[{"name":"lucianoedipo","email":"lucianoedipo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rbac-core_0.2.0_1762022397877_0.6445304731765114"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-01T16:03:00.568Z","modified":"2025-11-01T18:39:58.301Z","0.1.0-beta.0":"2025-09-01T16:03:00.872Z","0.1.0-beta.1":"2025-09-01T16:18:30.607Z","0.1.0-beta.2":"2025-09-01T17:26:24.416Z","0.1.0-beta.3":"2025-09-01T20:14:50.453Z","0.1.1-beta.3":"2025-09-01T21:03:22.047Z","0.1.1-beta.4":"2025-09-02T03:38:01.648Z","0.1.2":"2025-09-02T19:51:28.928Z","0.1.3":"2025-09-21T03:23:15.379Z","0.1.4":"2025-10-09T01:52:03.010Z","0.2.0":"2025-11-01T18:39:58.087Z"},"bugs":{"url":"https://github.com/anpdgovbr/rbac/issues"},"license":"MIT","homepage":"https://github.com/anpdgovbr/rbac#readme","repository":{"type":"git","url":"git+https://github.com/anpdgovbr/rbac.git"},"description":"Core de RBAC (tipos e utilitários) para projetos ANPD.","maintainers":[{"name":"lucianoedipo","email":"lucianoedipo@gmail.com"}],"readme":"# @anpdgovbr/rbac-core\n\n[![npm version](https://img.shields.io/npm/v/@anpdgovbr/rbac-core.svg)](https://www.npmjs.com/package/@anpdgovbr/rbac-core)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.4+-blue.svg)](https://www.typescriptlang.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n**Core de RBAC para projetos ANPD** — Tipos fundamentais e utilitários para sistema de autorização por papéis.\n\n## ✨ Características\n\n- 🎯 **Zero dependências** — Biblioteca pura TypeScript\n- 🔗 **Framework agnostic** — Funciona com qualquer stack\n- 📝 **Type-safe** — Tipos rigorosos para máxima segurança\n- 🚀 **Performance** — Operações O(1) para verificação de permissões\n- 🧪 **Testável** — APIs simples e previsíveis\n\n## 📦 Instalação\n\n```bash\nnpm install @anpdgovbr/rbac-core@beta\n```\n\n## 🎯 Uso Básico\n\n### Verificação Simples de Permissões\n\n```typescript\nimport { toPermissionsMap, pode } from \"@anpdgovbr/rbac-core\"\n\n// Converte lista de permissões em mapa eficiente\nconst permissoes = toPermissionsMap([\n  { acao: \"Exibir\", recurso: \"Relatorios\", permitido: true },\n  { acao: \"Editar\", recurso: \"Relatorios\", permitido: false },\n  { acao: \"Criar\", recurso: \"Usuarios\", permitido: true },\n])\n\n// Verificação O(1)\nconst podeExibirRelatorios = pode(permissoes, \"Exibir\", \"Relatorios\") // true\nconst podeEditarRelatorios = pode(permissoes, \"Editar\", \"Relatorios\") // false\n```\n\n### Verificação Múltipla\n\n```typescript\nimport { hasAny } from \"@anpdgovbr/rbac-core\"\n\n// Verifica se possui QUALQUER uma das permissões\nconst podeAcessarRelatorios = hasAny(permissoes, [\n  [\"Exibir\", \"Relatorios\"],\n  [\"Criar\", \"Relatorios\"],\n  [\"Editar\", \"Relatorios\"],\n]) // true (possui \"Exibir\")\n```\n\n### Formato Legado (Compatibilidade)\n\n```typescript\nimport { toFlatKeyMap } from \"@anpdgovbr/rbac-core\"\n\n// Para sistemas que usam chaves concatenadas\nconst flatMap = toFlatKeyMap([{ acao: \"Exibir\", recurso: \"Relatorios\", permitido: true }])\n// { \"Exibir_Relatorios\": true }\n```\n\n## 🔧 API Completa\n\n### Tipos Principais\n\n```typescript\n/** Ação genérica (string para desacoplamento) */\ntype Action = string\n\n/** Recurso genérico (string para desacoplamento) */\ntype Resource = string\n\n/** Mapa otimizado de permissões */\ntype PermissionsMap = Partial<Record<Action, Partial<Record<Resource, boolean>>>>\n\n/** DTO de entrada para conversão */\ntype PermissionDto = {\n  acao: Action\n  recurso: Resource\n  permitido: boolean\n}\n```\n\n### Funções Utilitárias\n\n#### `toPermissionsMap(list)`\n\nConverte array de permissões em mapa indexado para consulta O(1).\n\n**Parâmetros:**\n\n- `list: Array<PermissionDto> | null | undefined` — Lista de permissões\n\n**Retorna:** `PermissionsMap` — Mapa otimizado\n\n```typescript\nconst mapa = toPermissionsMap([{ acao: \"Ler\", recurso: \"Docs\", permitido: true }])\n// { \"Ler\": { \"Docs\": true } }\n```\n\n#### `pode(perms, acao, recurso)`\n\nVerifica se uma ação específica é permitida em um recurso.\n\n**Parâmetros:**\n\n- `perms: PermissionsMap` — Mapa de permissões\n- `acao: Action` — Ação a verificar\n- `recurso: Resource` — Recurso a verificar\n\n**Retorna:** `boolean` — `true` se permitido\n\n```typescript\nconst permitido = pode(mapa, \"Ler\", \"Docs\") // true\n```\n\n#### `hasAny(perms, pairs)`\n\nVerifica se QUALQUER dos pares ação/recurso é permitido.\n\n**Parâmetros:**\n\n- `perms: PermissionsMap` — Mapa de permissões\n- `pairs: Array<readonly [Action, Resource]>` — Pares a verificar\n\n**Retorna:** `boolean` — `true` se pelo menos um for permitido\n\n```typescript\nconst temAlguma = hasAny(mapa, [\n  [\"Ler\", \"Docs\"],\n  [\"Escrever\", \"Docs\"],\n]) // true se tiver qualquer uma\n```\n\n## 🧪 Testes\n\n```bash\nnpm test\n```\n\n## 🏗️ Build\n\n```bash\nnpm run build\nnpm run typecheck\n```\n\n## 📚 Documentação Relacionada\n\n- 📖 [Consolidação de Features e Roadmap](../../docs/README.md)\n- 🚀 [Guia de Início Rápido](../../README.md)\n\n## 📄 Licença\n\nMIT © 2024 ANPD (Agência Nacional de Proteção de Dados)\n","readmeFilename":"README.md"}