{"_id":"@diaskappassov/casbin-js","_rev":"9-3ba11a200acb01acf89678088e59cf18","name":"@diaskappassov/casbin-js","dist-tags":{"latest":"0.6.0"},"versions":{"0.0.1":{"name":"@diaskappassov/casbin-js","version":"0.0.1","keywords":["casbin-core","casbin.js","casbin","enforcer","ACL","ABAC","RBAC"],"author":{"name":"Dias Kappassov"},"license":"MIT","_id":"@diaskappassov/casbin-js@0.0.1","maintainers":[{"name":"diaskappassov","email":"diaskappassov@gmail.com"}],"homepage":"https://github.com/Dias1c/casbin-js#readme","bugs":{"url":"https://github.com/Dias1c/casbin-js/issues"},"dist":{"shasum":"29e8dbfd95503cb0539acf0524a1191ea38dd0e2","tarball":"https://registry.npmjs.org/@diaskappassov/casbin-js/-/casbin-js-0.0.1.tgz","fileCount":11,"integrity":"sha512-OiA82rkqOI3I51yofH+5JAMrEJqA3yi8S7Cy/F0Ow9Zcq9r0SEaOcYq86XZS2gscx0hMRMHZEIwjM9fzy8wAXg==","signatures":[{"sig":"MEYCIQDxiQK8KKkcU71v0nZC4YQxbqVIP9m8rVWIu+8WNkd6RwIhANZFpYP7aE3NdjhpdZiWLFCjjvjq+n9CN7AQPfl+g218","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19520},"main":"./lib/cjs/index.js","type":"module","types":"./lib/cjs/index.d.ts","module":"./lib/esm/index.js","exports":{".":{"import":"./lib/esm/index.js","require":"./lib/cjs/index.js"}},"gitHead":"de05f8504ce7429f3ec8c48e83fa8b9dd64418fb","scripts":{"test":"tsx --test $(find src -type f -name '*.test.ts')","build":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"diaskappassov","email":"diaskappassov@gmail.com"},"repository":{"url":"git+https://github.com/Dias1c/casbin-js.git","type":"git"},"_npmVersion":"10.2.4","description":"Simple library that supports access control models like ACL, RBAC, ABAC in Frontend Javascript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"casbin-core":"^0.0.0-beta.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","ts-node":"^10.9.2","typescript":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/casbin-js_0.0.1_1708016665389_0.029069326601833367","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"@diaskappassov/casbin-js","version":"0.1.0","keywords":["casbin-core","casbin.js","casbin","enforcer","ACL","ABAC","RBAC"],"author":{"name":"Dias Kappassov"},"license":"MIT","_id":"@diaskappassov/casbin-js@0.1.0","maintainers":[{"name":"diaskappassov","email":"diaskappassov@gmail.com"}],"homepage":"https://github.com/Dias1c/casbin-js#readme","bugs":{"url":"https://github.com/Dias1c/casbin-js/issues"},"dist":{"shasum":"37d9ea5dc455a352744b4720b5606bb55f097860","tarball":"https://registry.npmjs.org/@diaskappassov/casbin-js/-/casbin-js-0.1.0.tgz","fileCount":11,"integrity":"sha512-M1fHwcJBsaB1yEv9/FTb8BISoCZok7Vqt05fgDutB/dQfhXuVDz1Z6Mr/C628SrMkQka3+8r9Aitd6yddZzYjg==","signatures":[{"sig":"MEUCIEP1vR8qa1F1AmIvnPa23ijhjtxw9SQQAHuujbaWAi8GAiEA9QnfTEG/ANOgRqXAGap0GJKp+rGZ9u5KBqr+MFPR77k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20028},"main":"./lib/cjs/index.js","type":"module","types":"./lib/cjs/index.d.ts","module":"./lib/esm/index.js","exports":{".":{"import":"./lib/esm/index.js","require":"./lib/cjs/index.js"}},"gitHead":"8f29c25d4102cb80545bd67901b45e540e77fcff","scripts":{"test":"tsx --test $(find src -type f -name '*.test.ts')","build":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"diaskappassov","email":"diaskappassov@gmail.com"},"repository":{"url":"git+https://github.com/Dias1c/casbin-js.git","type":"git"},"_npmVersion":"10.2.4","description":"🔐 Simple library that supports access control models like ACL, RBAC, ABAC in Frontend Javascript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"casbin-core":"^0.0.0-beta.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","ts-node":"^10.9.2","typescript":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/casbin-js_0.1.0_1708053423126_0.1225759687445771","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"@diaskappassov/casbin-js","version":"0.2.0","keywords":["casbin-core","casbin.js","casbin","enforcer","ACL","ABAC","RBAC"],"author":{"name":"Dias Kappassov"},"license":"MIT","_id":"@diaskappassov/casbin-js@0.2.0","maintainers":[{"name":"diaskappassov","email":"diaskappassov@gmail.com"}],"homepage":"https://github.com/Dias1c/casbin-js#readme","bugs":{"url":"https://github.com/Dias1c/casbin-js/issues"},"dist":{"shasum":"14720c248853658d9f2d499340684c6da5548ce7","tarball":"https://registry.npmjs.org/@diaskappassov/casbin-js/-/casbin-js-0.2.0.tgz","fileCount":11,"integrity":"sha512-2xOe+3frRj49UUIqYJjYbuIYuwX5wpEg35YMfj+HqIjWb2BmrfT8dmfOk3HRHNu0ZyzabEzbnLBYiHDzw5BFIQ==","signatures":[{"sig":"MEYCIQDAydn4e9bENfrphRjYT6CCplXY3RgKkKTk++0dN8ZwPAIhAN7afg1M0fKW+G3ZgopheKvgnlENFPz9R4lFAWj+H8RB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20024},"main":"./lib/cjs/index.js","type":"module","types":"./lib/cjs/index.d.ts","module":"./lib/esm/index.js","exports":{".":{"import":"./lib/esm/index.js","require":"./lib/cjs/index.js"}},"gitHead":"a2479e4356a2dca935ff5f8b90c45d3826665235","scripts":{"test":"tsx --test $(find src -type f -name '*.test.ts')","build":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"diaskappassov","email":"diaskappassov@gmail.com"},"repository":{"url":"git+https://github.com/Dias1c/casbin-js.git","type":"git"},"_npmVersion":"10.2.4","description":"🔐 Simple library that supports access control models like ACL, RBAC, ABAC in Frontend Javascript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"casbin-core":"^0.0.0-beta.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","ts-node":"^10.9.2","typescript":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/casbin-js_0.2.0_1708053953047_0.07813191032876632","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"@diaskappassov/casbin-js","version":"0.3.0","keywords":["casbin-core","casbin.js","casbin","enforcer","authorizer","ACL","ABAC","RBAC"],"author":{"name":"Dias Kappassov"},"license":"MIT","_id":"@diaskappassov/casbin-js@0.3.0","maintainers":[{"name":"diaskappassov","email":"diaskappassov@gmail.com"}],"homepage":"https://github.com/Dias1c/casbin-js#readme","bugs":{"url":"https://github.com/Dias1c/casbin-js/issues"},"dist":{"shasum":"6f2dc56e58389dc8ba7f51589d23054816567206","tarball":"https://registry.npmjs.org/@diaskappassov/casbin-js/-/casbin-js-0.3.0.tgz","fileCount":15,"integrity":"sha512-k7R3gQ9WljMgRbVksy90LLVK8/KUhoY2+m3+bT+4q1Y++Z1p2Yt68Ijf9aGuNQczxo+aGvjdWIS+I+j2CcDnpQ==","signatures":[{"sig":"MEYCIQDY8W2HQbPBkshMten6YYd1CTG73lLkpkuyncf0VIUBCQIhAK6hnX/2EzwabwGwnWNuymCGmX0raXiryyv/j2t9L0gh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39949},"main":"./lib/cjs/index.js","type":"module","types":"./lib/cjs/index.d.ts","module":"./lib/esm/index.js","exports":{".":{"import":"./lib/esm/index.js","require":"./lib/cjs/index.js"}},"gitHead":"32f53f63f681235deace02ff17c2219e0d1a7b6b","scripts":{"test":"tsx --test $(find src -type f -name '*.test.ts')","build":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","prepublishOnly":"npm run build","example:vanilla":"tsx examples/vanilla.ts"},"_npmUser":{"name":"diaskappassov","email":"diaskappassov@gmail.com"},"repository":{"url":"git+https://github.com/Dias1c/casbin-js.git","type":"git"},"_npmVersion":"10.2.4","description":"🔐 Simple library that supports access control models like ACL, RBAC, ABAC in Frontend Javascript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"casbin-core":"^0.0.0-beta.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","ts-node":"^10.9.2","typescript":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/casbin-js_0.3.0_1708124476880_0.16970575384064235","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"@diaskappassov/casbin-js","version":"0.4.0","keywords":["casbin-core","casbin.js","casbin","enforcer","authorizer","ACL","ABAC","RBAC"],"author":{"name":"Dias Kappassov"},"license":"MIT","_id":"@diaskappassov/casbin-js@0.4.0","maintainers":[{"name":"diaskappassov","email":"diaskappassov@gmail.com"}],"homepage":"https://github.com/Dias1c/casbin-js#readme","bugs":{"url":"https://github.com/Dias1c/casbin-js/issues"},"dist":{"shasum":"69706a5e8e0f92cd389eaf1057c33f225c0f28c7","tarball":"https://registry.npmjs.org/@diaskappassov/casbin-js/-/casbin-js-0.4.0.tgz","fileCount":15,"integrity":"sha512-q35q7lb8o8B3JtsdtbQzn5NUFQ0wJmbqgfkItAkxvN+t871wC9EFrB+HpjNZyzIR0MmCiCzYBBilKKv5Ojm8DQ==","signatures":[{"sig":"MEUCIAPcs4Os3DgHwxWPMhvUWSGJdl3ikGfCF2cCDH4rHHQ/AiEAvkqn7hXY5TlmnzMqwe5rKAPBVq3bqCfI67w/PcubQRo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39930},"main":"./lib/cjs/index.js","type":"module","types":"./lib/cjs/index.d.ts","module":"./lib/esm/index.js","exports":{".":{"import":"./lib/esm/index.js","require":"./lib/cjs/index.js"}},"gitHead":"3026dd9c0e6c43eba58c3526233230863d627271","scripts":{"test":"tsx --test $(find src -type f -name '*.test.ts')","build":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","prepublishOnly":"npm run build","example:vanilla":"tsx examples/vanilla.ts"},"_npmUser":{"name":"diaskappassov","email":"diaskappassov@gmail.com"},"repository":{"url":"git+https://github.com/Dias1c/casbin-js.git","type":"git"},"_npmVersion":"10.2.4","description":"🔐 Simple library that supports access control models like ACL, RBAC, ABAC in Frontend Javascript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"casbin-core":"^0.0.0-beta.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","ts-node":"^10.9.2","typescript":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/casbin-js_0.4.0_1712959034732_0.5066771228824012","host":"s3://npm-registry-packages"}},"0.4.1":{"name":"@diaskappassov/casbin-js","version":"0.4.1","keywords":["casbin-core","casbin.js","casbin","enforcer","authorizer","ACL","ABAC","RBAC"],"author":{"name":"Dias Kappassov"},"license":"MIT","_id":"@diaskappassov/casbin-js@0.4.1","maintainers":[{"name":"diaskappassov","email":"diaskappassov@gmail.com"}],"homepage":"https://github.com/Dias1c/casbin-js#readme","bugs":{"url":"https://github.com/Dias1c/casbin-js/issues"},"dist":{"shasum":"026da8dd1e2a4228dcd3b5dd52c598d3e86135db","tarball":"https://registry.npmjs.org/@diaskappassov/casbin-js/-/casbin-js-0.4.1.tgz","fileCount":15,"integrity":"sha512-Jov2ygRtgZvMxq9apWoXB/9OWPb3To6QITABTuERF0JK1ArM8vF1+pvhu+vgsxyyE1H1WfAIejAcj7CjhFUyxA==","signatures":[{"sig":"MEUCIBVOePkv+aVCHbe2jHq5PRpv9OMCzVsns59/5nQC0yvPAiEAiBtCWQ28QoL+YUSu1VoEYoSIJnI5OcYzK0nluDnpMW8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43738},"main":"./lib/cjs/index.js","type":"module","types":"./lib/cjs/index.d.ts","module":"./lib/esm/index.js","exports":{".":{"import":"./lib/esm/index.js","require":"./lib/cjs/index.js"}},"gitHead":"348785b9afe79912a59ad8d0922fff83bd44eeb7","scripts":{"test":"tsx --test $(find src -type f -name '*.test.ts')","build":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","prepublishOnly":"npm run build","example:vanilla":"tsx examples/vanilla.ts"},"_npmUser":{"name":"diaskappassov","email":"diaskappassov@gmail.com"},"repository":{"url":"git+https://github.com/Dias1c/casbin-js.git","type":"git"},"_npmVersion":"10.2.4","description":"🔐 Simple library that supports access control models like ACL, RBAC, ABAC in Frontend Javascript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"casbin-core":"^0.0.0-beta.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","ts-node":"^10.9.2","typescript":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/casbin-js_0.4.1_1720211713132_0.1622049284398046","host":"s3://npm-registry-packages"}},"0.4.2":{"name":"@diaskappassov/casbin-js","version":"0.4.2","keywords":["casbin-core","casbin.js","casbin","enforcer","authorizer","ACL","ABAC","RBAC"],"author":{"name":"Dias Kappassov"},"license":"MIT","_id":"@diaskappassov/casbin-js@0.4.2","maintainers":[{"name":"diaskappassov","email":"diaskappassov@gmail.com"}],"homepage":"https://github.com/Dias1c/casbin-js#readme","bugs":{"url":"https://github.com/Dias1c/casbin-js/issues"},"dist":{"shasum":"6075380796f781b1ac338fc2afad2eea9898e02b","tarball":"https://registry.npmjs.org/@diaskappassov/casbin-js/-/casbin-js-0.4.2.tgz","fileCount":15,"integrity":"sha512-vpOkmtI1otbnklPdPbcbU2V0cVIZtELcd9Qa0WDHNTia+L8j37h5wju+yblUA2ElzguilgZ6iWuPwRSTuJRKtA==","signatures":[{"sig":"MEUCIQDJ+JakFq5cWZCRyUqgMOXo5IWZVkGiZj11IcgOQwhyJQIgTgkYMHmsfsCYE7KsWOcE8wX3Y3MW/S+XU11jonlUjtk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45337},"main":"./lib/cjs/index.js","type":"module","types":"./lib/cjs/index.d.ts","module":"./lib/esm/index.js","exports":{".":{"import":"./lib/esm/index.js","require":"./lib/cjs/index.js"}},"gitHead":"3330222adf9e8381b88d4daeccf020651ac7f508","scripts":{"test":"tsx --test $(find src -type f -name '*.test.ts')","build":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","prepublishOnly":"npm run build","example:vanilla":"tsx examples/vanilla.ts"},"_npmUser":{"name":"diaskappassov","email":"diaskappassov@gmail.com"},"repository":{"url":"git+https://github.com/Dias1c/casbin-js.git","type":"git"},"_npmVersion":"10.2.4","description":"🔐 Simple library that supports access control models like ACL, RBAC, ABAC in Frontend Javascript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"casbin-core":"^0.0.0-beta.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","ts-node":"^10.9.2","typescript":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/casbin-js_0.4.2_1723128019090_0.6117848259977334","host":"s3://npm-registry-packages"}},"0.4.3":{"name":"@diaskappassov/casbin-js","version":"0.4.3","keywords":["casbin-core","casbin.js","casbin","enforcer","authorizer","ACL","ABAC","RBAC"],"author":{"name":"Dias Kappassov"},"license":"MIT","_id":"@diaskappassov/casbin-js@0.4.3","maintainers":[{"name":"diaskappassov","email":"diaskappassov@gmail.com"}],"homepage":"https://github.com/Dias1c/casbin-js#readme","bugs":{"url":"https://github.com/Dias1c/casbin-js/issues"},"dist":{"shasum":"8d40d1be981e5eac02f02ecaf16081035ae2869f","tarball":"https://registry.npmjs.org/@diaskappassov/casbin-js/-/casbin-js-0.4.3.tgz","fileCount":15,"integrity":"sha512-7VS9MzBvtqUUEd7cpthqPjKTga3spE0xRjn138xSb4QKMqI3hWt1SV29IaXhQoHFPprLtqt+6W4t+mJxDWW4hQ==","signatures":[{"sig":"MEYCIQDLH7YPHU22qrBNETM/ONg6qvAaQmH9QdPMrjG3Qv6yMwIhAPlSW0i8q2PZX9mWlyldu9kxjvvVPFLXIXlhcWzQd7HD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45496},"main":"./lib/cjs/index.js","type":"module","types":"./lib/cjs/index.d.ts","module":"./lib/esm/index.js","exports":{".":{"import":"./lib/esm/index.js","require":"./lib/cjs/index.js"}},"gitHead":"d921b600be17083d3770e22ad085435e5e498a48","scripts":{"test":"tsx --test $(find src -type f -name '*.test.ts')","build":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","prepublishOnly":"npm run build","example:vanilla":"tsx examples/vanilla.ts"},"_npmUser":{"name":"diaskappassov","email":"diaskappassov@gmail.com"},"repository":{"url":"git+https://github.com/Dias1c/casbin-js.git","type":"git"},"_npmVersion":"10.2.4","description":"🔐 Simple library that supports access control models like ACL, RBAC, ABAC in Frontend Javascript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"casbin-core":"^0.0.0-beta.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","ts-node":"^10.9.2","typescript":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/casbin-js_0.4.3_1723128117723_0.6704721796036242","host":"s3://npm-registry-packages"}},"0.5.0":{"name":"@diaskappassov/casbin-js","version":"0.5.0","keywords":["casbin-core","casbin.js","casbin","enforcer","authorizer","ACL","ABAC","RBAC"],"author":{"name":"Dias Kappassov"},"license":"MIT","_id":"@diaskappassov/casbin-js@0.5.0","maintainers":[{"name":"diaskappassov","email":"diaskappassov@gmail.com"}],"homepage":"https://github.com/Dias1c/casbin-js#readme","bugs":{"url":"https://github.com/Dias1c/casbin-js/issues"},"dist":{"shasum":"6647925b441dc15470d7e20d772abc4257ea4bf8","tarball":"https://registry.npmjs.org/@diaskappassov/casbin-js/-/casbin-js-0.5.0.tgz","fileCount":27,"integrity":"sha512-tNas8eAMJtGv4BALmOfsD2rvzRxOwhvl4z3966Vwfj0JHB53j47wOkUc/sDlUv4SisdjM+k6FVki8KfmxpuxHw==","signatures":[{"sig":"MEUCID1t/PEx9Cw6Vx9o641wsDnqMAqcKJsKBqQ4f6fI+pVUAiEAk1C51wgnSbsIW/vjegoo6dVU9qteBxsUzPOeiriZ4po=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50011},"main":"./lib/cjs/index.js","type":"module","types":"./lib/cjs/index.d.ts","module":"./lib/esm/index.js","exports":{".":{"import":"./lib/esm/index.js","require":"./lib/cjs/index.js"}},"gitHead":"793082ccadba58a176109c0efa681fba22d360c8","scripts":{"test":"tsx --test $(find src -type f -name '*.test.ts')","build":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","prepublishOnly":"npm run build","example:vanilla":"tsx examples/vanilla.ts"},"_npmUser":{"name":"diaskappassov","email":"diaskappassov@gmail.com"},"repository":{"url":"git+https://github.com/Dias1c/casbin-js.git","type":"git"},"_npmVersion":"10.2.4","description":"🔐 Simple library that supports access control models like ACL, RBAC, ABAC in Frontend Javascript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"casbin-core":"^0.0.0-beta.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","ts-node":"^10.9.2","typescript":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/casbin-js_0.5.0_1725888541730_0.5077723667430354","host":"s3://npm-registry-packages"}},"0.6.0":{"name":"@diaskappassov/casbin-js","version":"0.6.0","description":"🔐 Simple library that supports access control models like ACL, RBAC, ABAC in Frontend Javascript","main":"./lib/cjs/index.js","module":"./lib/esm/index.js","type":"module","exports":{".":{"require":"./lib/cjs/index.js","import":"./lib/esm/index.js"}},"scripts":{"build":"tsc -p tsconfig.json && tsc -p tsconfig.cjs.json","test":"tsx --test $(find src -type f -name '*.test.ts')","prepublishOnly":"npm run build","example:vanilla":"tsx examples/vanilla.ts"},"repository":{"type":"git","url":"git+https://github.com/Dias1c/casbin-js.git"},"keywords":["casbin-core","casbin.js","casbin","enforcer","authorizer","ACL","ABAC","RBAC"],"author":{"name":"Dias Kappassov"},"license":"MIT","bugs":{"url":"https://github.com/Dias1c/casbin-js/issues"},"homepage":"https://github.com/Dias1c/casbin-js#readme","devDependencies":{"ts-node":"^10.9.2","tsx":"^4.7.1","typescript":"^5.3.3"},"dependencies":{"casbin-core":"^0.0.0-beta.2"},"_id":"@diaskappassov/casbin-js@0.6.0","gitHead":"8d4741aeb19ab9c30eaead0f8b33cf8cbbdab225","types":"./lib/cjs/index.d.ts","_nodeVersion":"20.11.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-QD3L7yAFgVWpezGI5w1xEXdG2kWwaqT7DwUO22ATFDx0muhQ9fR5U9sFrHzDuTxWQGvdLS0qFHvQwAw0qlByPQ==","shasum":"1d205f4d2011029d18cfeca607b1d1bbee7bcac8","tarball":"https://registry.npmjs.org/@diaskappassov/casbin-js/-/casbin-js-0.6.0.tgz","fileCount":27,"unpackedSize":49987,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLjwUOIdgUb0UAYapQa2BMH5uNTMduNdvf6Q8/IgNxZwIgU/1229hOcl5qozUWLVNY+pQg2jvTjy6h7nbSr4CsVH0="}]},"_npmUser":{"name":"diaskappassov","email":"diaskappassov@gmail.com"},"directories":{},"maintainers":[{"name":"diaskappassov","email":"diaskappassov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/casbin-js_0.6.0_1725889003115_0.9789055764538452"},"_hasShrinkwrap":false}},"time":{"created":"2024-02-15T17:04:25.313Z","modified":"2024-09-09T13:36:43.412Z","0.0.1":"2024-02-15T17:04:25.560Z","0.1.0":"2024-02-16T03:17:03.270Z","0.2.0":"2024-02-16T03:25:53.224Z","0.3.0":"2024-02-16T23:01:17.043Z","0.4.0":"2024-04-12T21:57:14.874Z","0.4.1":"2024-07-05T20:35:13.262Z","0.4.2":"2024-08-08T14:40:19.317Z","0.4.3":"2024-08-08T14:41:57.936Z","0.5.0":"2024-09-09T13:29:01.901Z","0.6.0":"2024-09-09T13:36:43.249Z"},"bugs":{"url":"https://github.com/Dias1c/casbin-js/issues"},"author":{"name":"Dias Kappassov"},"license":"MIT","homepage":"https://github.com/Dias1c/casbin-js#readme","keywords":["casbin-core","casbin.js","casbin","enforcer","authorizer","ACL","ABAC","RBAC"],"repository":{"type":"git","url":"git+https://github.com/Dias1c/casbin-js.git"},"description":"🔐 Simple library that supports access control models like ACL, RBAC, ABAC in Frontend Javascript","maintainers":[{"name":"diaskappassov","email":"diaskappassov@gmail.com"}],"readme":"# casbin-js\n\n🔐 Simple library that supports access control models like ACL, RBAC, ABAC in Frontend Javascript.\n\n<p align=\"center\">\n  <img alt=\"ts\" src=\"https://badgen.net/badge/-/TypeScript?icon=typescript&label&labelColor=blue&color=555555\">\n  <a href=\"https://www.npmjs.com/package/@diaskappassov/casbin-js\">\n    <img alt=\"NPM package version\" src=\"https://img.shields.io/npm/v/@diaskappassov/casbin-js\"/>\n    <img alt=\"NPM package downloads count\" src=\"https://img.shields.io/npm/dy/@diaskappassov/casbin-js?label=Downloads&logo=npm\" />\n  </a>\n  <a href=\"https://github.com/Dias1c/casbin-js/\">\n    <img alt=\"Visit package GitHub page\" src=\"https://img.shields.io/github/stars/Dias1c/casbin-js?style=social&label=GitHub&maxAge=2592000\"/>\n  </a>\n</p>\n\nChangelogs [here](./CHANGELOGS.md).\n\nSee more about casbin [here](https://casbin.org/docs/overview).\n\n## Installation\n\n```\nnpm i @diaskappassov/casbin-js\n```\n\n## Usage\n\nYou can see all usage examples in [examples directory](./examples).\n\n- [vanilla typescript example](./examples/vanilla.ts)\n- [react typescript example](./examples/react.tsx)\n\n### Initialize Authorizer\n\nTo understand what the `model` and `policy` read https://casbin.org/docs/syntax-for-models/\n\n```ts\nimport { CAuthorizer } from \"@diaskappassov/casbin-js\";\n\nconst model = `\n# Request definition\n[request_definition]\n# Can subject, do_action, on_object\nr = sub, act, obj\n\n# Policy definition\n[policy_definition]\np = sub, act, obj\n\n# Role definition\n[role_definition]\ng = _, _\n\n# Policy effect\n[policy_effect]\ne = some(where (p.eft == allow))\n\n# Matchers\n[matchers]\nm = g(r.sub, p.sub) && r.obj == p.obj && r.act == p.act\n`;\n\nconst policy = [\n  [\"p\", \"cat\", \"walk\", \"ground\"],\n  [\"p\", \"cat\", \"run\", \"ground\"],\n  [\"p\", \"cat\", \"swim\", \"water\"],\n  [\"p\", \"cat\", \"breathe\", \"air\"],\n\n  [\"p\", \"bird\", \"fly\", \"air\"],\n  [\"p\", \"bird\", \"breathe\", \"air\"],\n  [\"p\", \"bird\", \"walk\", \"ground\"],\n\n  [\"p\", \"fish\", \"swim\", \"water\"],\n  [\"p\", \"fish\", \"breathe\", \"water\"],\n];\n\nconst Authorizer = new CAuthorizer();\n\nAuthorizer.init(model, policy);\n```\n\n### Check permissions\n\nYou can check permissions with `can`, `canAll`, `canAny` methods, but before that YOU MUST INITIALIZE `Authorizer`.\n\n> [!IMPORTANT]\n> The order of your request elements must follow the rules which you set in `model`. See more: https://casbin.org/docs/syntax-for-models#request-definition\n\n#### Check permissions with `can` method\n\n> [!WARNING]\n> If the `Authorizer` is not initialized it throws error\n\n```ts\nawait Authorizer.can([\"fish\", \"fly\", \"air\"]); // false\nawait Authorizer.can([\"fish\", \"swim\", \"ground\"]); // false\nawait Authorizer.can([\"fish\", \"swim\", \"water\"]); // true\nawait Authorizer.can([\"cat\", \"swim\", \"water\"]); // true\nawait Authorizer.can([\"bird\", \"run\", \"ground\"]); // false\nawait Authorizer.can([\"cat\", \"run\", \"ground\"]); // true\n```\n\n#### Check permissions with `canAll` method\n\n```ts\n// returns `false` cause one of conditions returned `false`\nawait Authorizer.canAll([\n  [\"cat\", \"breathe\", \"air\"],\n  [\"fish\", \"breathe\", \"air\"],\n]);\n\n// returns `true` cause all conditions returned `true`\nawait Authorizer.canAll([\n  [\"cat\", \"breathe\", \"air\"],\n  [\"bird\", \"breathe\", \"air\"],\n]);\n```\n\n#### Check permissions with `canAny` method\n\n```ts\n// returns `true` cause one of conditions returned `true`\nawait authorizer.canAny([\n  [\"cat\", \"breathe\", \"air\"],\n  [\"fish\", \"breathe\", \"air\"],\n]);\n\n// returns `false` cause all conditions returned `false`\nawait authorizer.canAny([\n  [\"cat\", \"fly\", \"air\"],\n  [\"fish\", \"fly\", \"air\"],\n]);\n```\n\n## Author\n\n- [Dias1c - Dias Kappassov](https://github.com/Dias1c)\n","readmeFilename":"README.md"}