{"_id":"@iamjs/next","_rev":"28-a1c2001e00475ba88e39249bfa2786f7","name":"@iamjs/next","dist-tags":{"latest":"2.0.16"},"versions":{"0.2.0":{"name":"@iamjs/next","version":"0.2.0","keywords":["next.js","auth","permissions","roles"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@0.2.0","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","dist":{"shasum":"76274b23b0d35a0c2ac7a0116bd3fd3b076de3e6","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-0.2.0.tgz","fileCount":4,"integrity":"sha512-AH2IpQuhjofjm4KsbEtmw5D2/xEoN0xPfaX8Qa2UppAJ7dDE7SPX4W8XNwobTQXYflI4hhcfkN3Ak3dk+CKlWg==","signatures":[{"sig":"MEUCIQCZ5VuhLdgk7veFicLWYv09RcTt6a2IJge8VPiVm4xX+AIgexV6g8OF4tQt11u9vrDILObB0zEuVPPt73fRH+ImSik=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5026,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOHgUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoiDhAAi9BIUz8cDSeSj6/bE6D+zpEjdD1fTlnrvJqmiEdU0AhqpaEi\r\ne1IAXDHM/YPwOzrcgl53Bc8Gh2DnCpfJLxjkq9qX2duI808V9dJolEoYha+H\r\nbZbb+ZEcenBwzMJ7a+64ZSy3RroqvBDV5FiPcSb+T6bgOwbzCMvL4dlWO0ob\r\njq16ucnx3K0sTHU99+9/RY1vq6i4DYpSgPzhaAOuxC3sqBigGP5UByhaZwvC\r\n6Znwhae7U75dLwoH2ZTxvCTGMyD5WnY9neiM6mxUM2zkxSP6u36vNKQy9ryH\r\n+6VwqxHHQoVMnw3KmeZ9nJId/CLALkK3DYODIINWEpCz7yMC62taGmaaTmrU\r\nCs4MX8YSZ8ycE/I54viH+uRHeIq/n+BWCf3ur4JPj2qKxodg6WjWGBnxfcIa\r\nrJFPW5ttfZjIGeQJPUEgABBEd+7v1RJJBUUIt8LGjAPJxE5jwvQ3B9NlVWNZ\r\nejblEPTNEyIiMurEIFvUWkJySbgH7AVrQR5TZd7/mwMF0G6MhGJVb8FE/FVB\r\nEaIwYQFfJMp4K4lyJv+eqlu02j3gu8VR773ptiYvH+f9qw2fWal2a57ABcvg\r\nRtYcltf089Xv7DUAUCYBCggoIB5LAkj8xmxVUNlOUo/ib8fXhtM/tYS0Bdac\r\nst+gOQSLLiINZHwkBsOZbILeS6t5tN8vBI4=\r\n=e11S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.ts","gitHead":"345541a517a8e1a56581032e2437677030aab565","scripts":{"test":"jest --config=./jest.config.js","build":"vite build --config vite.config.js"},"_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","_npmVersion":"lerna/6.6.1/node@v19.7.0+arm64 (darwin)","description":"> TODO: description","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"19.7.0","dependencies":{"@iamjs/core":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^4.2.1","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/next_0.2.0_1681422356496_0.2627989313527357","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"@iamjs/next","version":"0.2.1","keywords":["next.js","auth","permissions","roles"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@0.2.1","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","dist":{"shasum":"6f90919139ef952853a1a57e938b33239e3b15d6","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-0.2.1.tgz","fileCount":8,"integrity":"sha512-q27q3m+15nTFN/KszjiR3aywkWvLlzogJi7mEDH3xeronFpB6gALMTe+yiBX9UaGU92f42hqWAt0RLni+RvusA==","signatures":[{"sig":"MEUCIQD8KE/RCl7UwCiMn84Y6Usx31TKcl492Qd39l78gsxSxQIgPXfMzECeu468x9fqqJt/Db+zeAs4EiL9NhO/UrEXnHE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19219,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOIEVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr1YxAAiVOdcybmUYnMwdS+roCwkGi2wBfCYbvZzhDeQl+hzz0U8HZV\r\nW9+924P3CfQapbv+EFk+nNgF91qd2qwo0c6CrTLtZu4xrq/df61XKWHZzaON\r\nRyKpsrZYWG/SQRZL8z2No4pNB6Bew0KvOfXFefrNGFq+llmq8heFjUMyKhCj\r\n8oB1ogt40pSUbnQvKp496YYKTf0VuDrq3QXBwmlztWdtzjLXmLA8eH4XgfEW\r\njGc+119mC+h/O6sRyU3QR+ANzeUxMcrsQPjDnALYLQCBbYzjHrZXb1POFCj+\r\njjzXHxmXTdMc7tSJ+w6vRSrsLs6KP5w3wuJiN+v7+gLlQ/lW8V9k377ocnk3\r\n4NHx3BnBFGstRaYCmogF9iwi7gE4/C8r4KNJHHDhUaCuevTElyPZHXtcGumP\r\nk+DqZXnlDxXddbTDkz8okfT/9sEMm3ssxEaW1Pus9zawYkoM1rSCq4eOV5Yd\r\nz0qoEDD3v4SccTuzaoJNNhWiEth7iAMhHxXG611KlcSqmDotddkX4UuBDC4R\r\n85j/TkdD6f4OqlB8Wl+d510s4Xtr0RIhdKyOThb1nUwORww4unisFuvuUWLW\r\ngOhyZsbdOQulxqTCboQf0Am/g+9oGP7ok0M4MhXJU4SIXEzRCEr/IqjC7vfV\r\nDs58pGj3HNRQK+573f0wj54C/8ZcVHV2liI=\r\n=HYH6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","module":"dist/index.js","gitHead":"10b93e9a49cd8fa616b557f9797d1f7fe2d4aeaa","scripts":{"test":"jest --config=./jest.config.js","build":"vite build --config vite.config.js"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","_npmVersion":"lerna/6.6.1/node@v19.7.0+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"19.7.0","dependencies":{"@iamjs/core":"^0.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^4.2.1","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/next_0.2.1_1681424660918_0.23836792765897208","host":"s3://npm-registry-packages"}},"0.2.2":{"name":"@iamjs/next","version":"0.2.2","keywords":["next.js","auth","permissions","roles"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@0.2.2","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","dist":{"shasum":"13bc8fed3fc31c81d2b6f60d5fdfe55a005f4665","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-0.2.2.tgz","fileCount":8,"integrity":"sha512-KEKeWjLA+hO9fg4USHqfR2DAH3Kg1/nh6v+B40B9qYIKvkzbEcXDZekANiYgpKciz3dlwpaB/vWIWlha5fhvew==","signatures":[{"sig":"MEUCIQCmITcPRA19NorfolS2Oc1Mi+vp1DbpjvuLZpDvD5UQ/QIgcnkNanNiyEYoMjXD95hq58bYdHRo9UWo9b7sTGwJkrM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18872,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOIMYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpq6g/+OQK3WJkx7dYJtQR3WAQHs2Ge2ep0LpzBtfgkyW6UjZAw/PqG\r\npxpL++RAOXv58kXoI/f6en5stSBdTdJm5bHbCBiftNY51RIxCWSA7QDWvhST\r\nfsnT3defs6Ljc/Ui01lhlfBhU3zLL5RkVA4YQIdAnFiTlPpTCwkxYBEYa1C5\r\nGhIQKT8JhWqkGiRBSBSjbu5OU17L2yQ8pvltXToQknHN5Z5JRbP+aX4pSNG5\r\nljHW8Cla53YQIwjLoJ4ypzYJX8qNpyVep643XZ2x3BcSJ31iSbkEa3qQH6n9\r\n32aVenEW2fUXNs2KVHvtL5KmmMfLkkbZfjOmUqGCwGJsxxCmcqi6SWJr4x6h\r\n9nGw8Dtvzi7Lm1UvfcSWrGTHzdViDOAiYTqPewHEa+fFHLceM/v6FMGe5dia\r\nZtK4SSoXkMXCoeuxUDzhWn2LBEZJL53IvLn4vIBPaV5CDAavHG5KbRsC9ZGA\r\nqTwvpgexv4U3uh3W56d7/YT5c5H13nB5Z70k87768/wcAoC9PksXmOhHHa6F\r\ntPfEqU2OwkJO8N1HlIVNEDNWosNhaad1zwsAAavfyqlxdNsllz/20tx3eCUQ\r\nyoBV94SvyNANAGhf3qAOT0pCTOtzOUXbG8JQoidMZtGBL7ms/6/1ndQDn/rq\r\nslw242J/BJwEmDdPFlFQtcrPwyZJ3wVtyuA=\r\n=fits\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","module":"dist/index.js","gitHead":"29271d1d33176fcfa9713a4b2c25e2d5f7dbde78","scripts":{"test":"jest --config=./jest.config.js","build":"vite build --config vite.config.js"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","_npmVersion":"lerna/6.6.1/node@v19.7.0+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"19.7.0","dependencies":{"@iamjs/core":"^0.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^4.2.1","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/next_0.2.2_1681425176473_0.23165939216933706","host":"s3://npm-registry-packages"}},"0.2.3":{"name":"@iamjs/next","version":"0.2.3","keywords":["next.js","auth","permissions","roles"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@0.2.3","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","dist":{"shasum":"e612f126f12b610c8b4c9591626881c3b3a10a6f","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-0.2.3.tgz","fileCount":9,"integrity":"sha512-mo/VBU5N86NXNwdzJUsg4OHqgM2Rxe4x6bh9gM/eRHt/liIdVGDrFGwfCYopMqYFrN7fEbKxn+aBGCQcVqDreg==","signatures":[{"sig":"MEUCIEoHV4MMurff06gvG3wQsYONLNg1q3STmrSrzIdc0vI+AiEA+JK4FvT6urggB5r4ZvD/IUvOh5mohpeemEIdHPMO61U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21680,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOblDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpbrQ/+PpOWtash64RDm8B/yWd3JzW6TiEW2zOTIwxVHRisrl4SCDG3\r\nenZP6jULRyPo1FfS1fbIkVJLazKBxnN82/fmf5B/EmXSmH7xYJGY4P/EUXfo\r\nWa+ZYiBtDnSoiWYH1wCfBt+xevnPZOLuqvcSNYj+Ge/ILAbyNi3rP6U9Z1eA\r\nCtaKLAPs7LdVpAOBC0kfDToSX4lC+V0DsUUE2V4mwiwTadTtUlraSI/e75Uj\r\nZ/SScK40Mt/Ool7RipyqcUJT07fTnSJrhaPgdrSXm67Ug4n5ycOX8wP1sXq/\r\nXPZjsUxWrFYabQGwQ+7sZuN5S1mcY3jg9MSwdSOvighyz85xvSOEropBrWUf\r\ntDwiuV1Q5zBKYBwBvzx1KLhPcPUb/NG6VkkBJhnpGtp/2u45lwzccL++dYNL\r\nBF4jIjtI//HY325Lojd72/UPv2nuAkov1GgO0xgc9+cGHAgLXZL8xs0BoNes\r\nEEX1KFtW/6V3xNqnU3rDuBTLjaUO8x3565WNtKSS5WistG9sjy4hjPQUoQJJ\r\n+qszcThOCXq/ngO/yEcuQsYicDXKjQTxUq5qJpoO7GAsTFPyJ72o/33W60y1\r\niaWkAbJ4VjYjyKruvnzwqydtSJl43gUd/Gt2M6H7V8I6TlJgKusTtISyRv3A\r\nG0by+w7YqljNwXVNPdbalkZkmmdjdIps6m0=\r\n=5xry\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","module":"dist/index.mjs","gitHead":"682d61ff83a6a7ee24a01773fd2b082b3ab269f3","scripts":{"test":"jest --config=./jest.config.js","build":"rm -rf dist && vite build --config vite.config.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","_npmVersion":"lerna/6.6.1/node@v19.7.0+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"19.7.0","dependencies":{"@iamjs/core":"^0.2.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^4.2.1","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^2.2.0","@types/supertest":"^2.0.12"},"_npmOperationalInternal":{"tmp":"tmp/next_0.2.3_1681504579516_0.28823665188428005","host":"s3://npm-registry-packages"}},"0.2.4":{"name":"@iamjs/next","version":"0.2.4","keywords":["next.js","auth","permissions","roles"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@0.2.4","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","dist":{"shasum":"b8e49ab3ab20826a34b2b527d6040b3347cbfb8f","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-0.2.4.tgz","fileCount":9,"integrity":"sha512-IPdtTb7T2/L0vW05aOwoJmzD89wipqIyKHSd8exJxJDtMq2LbOS5HEZ9IbUQFeD0IFD+cBiPHw2IKFMrr5jXHg==","signatures":[{"sig":"MEUCIQCSfm8JKc18dNRy+MIHuUhMFSzpwtjPU2zFw+CtauFzmwIgHj1gftG1gtoCTavLmBXd9VXEykME0DCoIE+0QTmBVX0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21671,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOc9BACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq6qw//ZicCDACP927wAVsAl6i+vgwJfByCDEmo5YSi6cLFhjHtWTBI\r\n56ri83IPUyg7bPaiWEIfbNatm0uMMLPNq/P88agXlnw25YCOH8WLp8O221zw\r\nwdb4bYns50Nyy5PGHo9GufWWehvybhzwj+i9uua4GOB+KkaoCZXLpW8Td5Y5\r\n7y27ueR3FTgG55iEugCdEk2ie+Mxw/1kScn6L4J/+28ti0ax0SvQjPM5asug\r\nYnqBYmZC+omV6Z9fBA4nL2/3RKIst/uEf4Vc6nF2K05u0/Nj+YNaFx2mGUDQ\r\nngkm678kwX60ORVi80sardZJjvl+uxuBXpkQHCqbsHLnbKKOaYES3zeCOJth\r\n92MmrVI58L3KYtD/xJey+jO5KkDRGpvUP982hmk23sLD8YPNDIXWQSJuU9Pd\r\nfNh+MV1GdDqOcg3dIUWZuWFVnwZTUWqqq2NgZAKjA6nFRUXPHWYIpIzRhRYv\r\nP9ENFIBOQt3JupoJRCUmUJQb3L48aea/1Qxyk7uYe0C/N97JOG3Y5PG71g/e\r\nkqQoLITb9JmzDSgjCEbpPqrGx0+OzXHwUag+7ZdJcGR5zkfEtgxHVBjEYi0R\r\noDceXHFIamGy4+SRxfilqvDIMm+uy4LEuRGtrHOkEkGdNwn7z2EJIarx1G7w\r\ni6sExc2sTyLEL5ePOFfuiSfWbCX4L9n9ZFA=\r\n=h/J5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","module":"dist/index.mjs","gitHead":"1e5d22609b0381ec714e374bd157171bf9f3c3f0","scripts":{"test":"jest --config=./jest.config.js","build":"rm -rf dist && vite build --config vite.config.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","_npmVersion":"lerna/6.6.1/node@v19.7.0+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"19.7.0","dependencies":{"@iamjs/core":"^0.2.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^4.2.1","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^2.2.0","@types/supertest":"^2.0.12"},"_npmOperationalInternal":{"tmp":"tmp/next_0.2.4_1681510209016_0.39917189547113363","host":"s3://npm-registry-packages"}},"0.2.5":{"name":"@iamjs/next","version":"0.2.5","keywords":["next.js","auth","permissions","roles"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@0.2.5","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","dist":{"shasum":"91b099dd523e467b64557e08e57d8d794093fb02","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-0.2.5.tgz","fileCount":9,"integrity":"sha512-eMbu9RjxbDm1eTUsRQu16D23YCImqkT7bvp358YfSqbl0D5cx+D7fuB6gqLGp0oMOpoUuGLkuQrWVCv6d0cyKg==","signatures":[{"sig":"MEQCIHUxYbUzwT8+H1ZOVEFFC+S8gnITPagjADF+BPnSTk/BAiAU/y4Q1baWe3CbCDkbe09goCpmznteOS2Qf5GNqWZrYA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21622,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOpK2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqtnxAAhDH6eyrid9BuUZ61HDMRfdvuaHXzLFrzbsqi4wVeZho4QlE7\r\nLvlvL1v0QvyzGEuHUYwLy5uddQL3TjEsQY1UswsnMleBDS3QbGAi3l3soAWh\r\noxFnsuIE8Y/cOWofQkOz9JCG7kspGaYhyI5tXfIg9mqAq9kYCTlyfBp5DNYI\r\nVxzwuNxw3SWHUl2CYXgvXyNTvxBlxQwWa4LJcrH0UuhWrCLW8vF5d63UOrWp\r\niYZUZkCoWFoym2FMbl+dMzTPNGLbv++LMOdn/GrNLVjdqeeORarzqZy4AoLh\r\nUIIn43l1fbZ9KLiJrihmI9cpv/n23ZH/PuG5r6EFekP8CbJ9Pw7QCXCRYF9L\r\nu0mvbCpxKnoTZ9P+zzzCD6hNPyqL3Gpld2cmlLCTl/ZyDVIdHX9MMxvQY1vS\r\neWnWcUcHKYFzLjL+L5wJRFm/OXf5ml9OtzhN29wpBEgOGZBXX+C8zq0QEUZf\r\ndO+ZPM4kjWmFanCFmnyZa6VUzQvXjWS8jrQkZ+NM4gqswCBJXsBEmV3/LTlr\r\nzyvQjgvPPBTmzCY+YK14pEk8HA8eyIT7F4iXACINjnSED3LaO4GwhyzAabhl\r\nk8OmU30miqz/hWrhzG9V8yDQ+qWqBRpANH1hLmWfXWebNMkAYstmQWTRd94y\r\nWgYzTSNjKoGz0b9De1ag3x9lJ2FMHbdttC4=\r\n=qvSH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","module":"dist/index.mjs","gitHead":"2df0e373c8c30954f14e28586ae5fc18319f9db1","scripts":{"test":"jest --config=./jest.config.js","build":"rm -rf dist && vite build --config vite.config.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","_npmVersion":"lerna/6.6.1/node@v19.7.0+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"19.7.0","dependencies":{"@iamjs/core":"^0.2.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^4.2.1","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^2.2.0","@types/supertest":"^2.0.12"},"_npmOperationalInternal":{"tmp":"tmp/next_0.2.5_1681560245838_0.9272517887066769","host":"s3://npm-registry-packages"}},"0.2.6":{"name":"@iamjs/next","version":"0.2.6","keywords":["next.js","auth","permissions","roles"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@0.2.6","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","dist":{"shasum":"1852206a1b0a0eb48f4aa1f78d1d18ac849cac6a","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-0.2.6.tgz","fileCount":9,"integrity":"sha512-207eccgDbnWl8raeROql6bhlnxiSLIUJs97XPzl+ml6deUSME7DWTltxpXRndyIU2SeyclywxSuP1pCpEn9L/A==","signatures":[{"sig":"MEUCIH+nxcaE7FVpOYS5/p7ue6PqMyHcupZeLx5ntgxPFZpSAiEA0ucxk8+grJFSffI5DpJS5oRfpLIbHbHP6KnmEC93HYo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21622,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOpSTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr9jw//ZMqrZet+VaYm8r09CmwTJsb+ImSIOXxC4RFlSvnuuudiKK4/\r\nZYJ83nDMZ9SrpV9cT9ZiR1HHSFcb0RcI6cNDoZdu1El7dIfbdOAGATQXDOIE\r\n+VYxD7QpddAE6O8fqlxGSa2DpreCin9y2bDl87P2spk1sIeXgKQQTqfkSqTp\r\nAGjFGR+bFCiK0+ZYPO1JP0MtpN//h3QMVM0F6RSrnZ+eJh/+/LbG09f7yg7z\r\nWzZGYob53gPCLx2s+ziTGbeAkYv/K53OsqERHH9InolE3olKl1FEm/qYc16x\r\nfgQXsaK5R84rFKN3JIBQLneur9JGUKID98WceHRSixiHW4/CSlLvxq1Ws5Bz\r\nXqonlYIUs2HSJqwCVzN7sJzrSBcDvQ5IWgasU40MIjaKIubmACpOx5lyc/1G\r\nob7bWr94tAO7NlGAJh9ufJTUV5T4dfGKPQtlLeOoIW5JMURGyH+BqMv4ZpJR\r\nJLQvGgG1AixrXDd3oGOkhR7HmAHYWSWSpEB4R+TB1jbrrt/5gyeGP8090dZ5\r\neh6eP2a4woIqpN5UUJFknI1L5HSVZzlrTWNyLOwnJyp3Zy/3O5KhKVh3TfAl\r\nJMcTvHf5acYzLQLpINuZzzPR+52uQ9kCQE+5vnXQbXL07eLIjCnTKlr1HTvS\r\nmY1p9T/eE6LoQLoPzT8vjbHXt3FxfwS3xTA=\r\n=IOO0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","module":"dist/index.mjs","gitHead":"dade4383a453fdddc77ef03c0e8013af29751c6a","scripts":{"test":"jest --config=./jest.config.js","build":"rm -rf dist && vite build --config vite.config.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","_npmVersion":"lerna/6.6.1/node@v19.7.0+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"19.7.0","dependencies":{"@iamjs/core":"^0.2.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^4.2.1","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^2.2.0","@types/supertest":"^2.0.12"},"_npmOperationalInternal":{"tmp":"tmp/next_0.2.6_1681560723699_0.45365606587249196","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"@iamjs/next","version":"0.3.0","keywords":["next.js","auth","permissions","roles"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@0.3.0","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","dist":{"shasum":"59f80bc824e29a02c718ea7494c629fe5132bd32","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-0.3.0.tgz","fileCount":8,"integrity":"sha512-mSt1ctaf3zbIJXWhDkDqF9CojTqOnMsp4AzWp5mUMpKLYLgkHS3nHueYx0bza9tFVlxtLFAS7XEHKBewe7I6yA==","signatures":[{"sig":"MEUCIElXSJkCzQLx976OlKTC79c7nTWI3m2TwONhwclNGGS/AiEAqAWcME/QPgw44xD6RiM8gCfFQbrQmPwESpaC0f+rXdI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25118,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOrSgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqimQ/+LTP8WY0iwOI8E9aBtDhGhSq7tFRe5t553PENwoow3IYi3tN8\r\nbUmn/Uq4LHPxgky+MEda39KKXA5QKxEq52l/e/d6sYvLOoSLqvDr01vq0YiI\r\nlYPgmeAbTD9YJ5LHA4Mzm1Yb2ZcsndqU+Gmn8Q+99/S4Wlrvy1b2yzKE2YDX\r\n94QB6Ekjx5rgLNZVaL7D5WNKdbFvsTZZyUkDppFvsMdffg94g5DVKoefsgqK\r\n8o884FnQRcphxv8an610BdHMJoiLVi7Mhp2TAgWza1Ls3LerVrl0FCYUPpQR\r\ntqbRRRfVF/4/nW5PVDEc4CQq/UGekD3H+tyg5U85B4PGIuBEw1t/JGd7/ix8\r\ntCb827l+0+BmBQIZUc6tBVRcFop9JyKl3DalvXWquTGnU+qnQlAEQluJPyu1\r\nlaixrVZlATZg9y4oztv+S/OGhqnAu3HSU0ufzTuA/U0gkG2Hzwx9GWujIOgT\r\ntQ5v/QV7/JuarKM9dan4alFQ5a6xOPppYFP8IYY0jHgt811MOAnkd0xftC7O\r\nrLwaWpYZKf8woC3AQynJRl6YMewKchebxQFiuByoIo1N4subqhw/DiEfXg49\r\n81/H5+E+VFtRxl3njFxdXK5ff5CpKZ4RmMp5uL8bD92m4G4uVHsbaVSQR2BR\r\nM7HM/5TDVg/QoWWNz3ASicWWpwp47t3JI9I=\r\n=cz4A\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","module":"dist/index.mjs","gitHead":"fc393383ec2950c17aa792c144bba0ead9983622","scripts":{"test":"jest --config=./jest.config.js","build":"rm -rf dist && vite build --config vite.config.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","_npmVersion":"lerna/6.6.1/node@v19.7.0+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"19.7.0","dependencies":{"@iamjs/core":"^0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^4.2.1","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^2.2.0","@types/supertest":"^2.0.12"},"_npmOperationalInternal":{"tmp":"tmp/next_0.3.0_1681568928064_0.9411611796069272","host":"s3://npm-registry-packages"}},"0.3.1":{"name":"@iamjs/next","version":"0.3.1","keywords":["next.js","auth","permissions","roles"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@0.3.1","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","dist":{"shasum":"947b91ff344b66c148f8193d41c7cdf84188e08d","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-0.3.1.tgz","fileCount":8,"integrity":"sha512-HsMhLDG7787U18chz0jauX2ulhIUzW431v8kgONE7awnhNJGQ8hy8qcPkEc4qcwPFPsoupFEA8ewVbanwgftJw==","signatures":[{"sig":"MEUCIQCUBEldosKInUUwT+pYoCjH/qsa8rpR1rmcDq61QhsuLgIgW5sfJvzZXcLwEiERYA2+htkEFGjPuRQQcqiL1yTQ2r0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPiE+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr0bw//XiiLRHO7JfDD9BsKOpxlsk5/HbV9WpfNyVHXav0H8OreCWVj\r\nb7MwQbnmNWaqAcSbFKnluttjiUcWJiNg7PSLavtL7Y0pC1GG7oyCyOQaJWf0\r\nCSsh8PnzIx4YtzdIpgMSpt+BK79S7JE3XwvjocD5tGNgPceq2PCklVIw1MLa\r\nBpYscd+4OBho2M6Q5DuVElZdzj/pmKBUkEuZVTbZObbun1Hcs/rb1vvfRadh\r\nEn37G878QtPckLgH7SOZ0pecKhJCy/dB0hNS9qaITBFTXIS5Jr/tqWlOzWof\r\nlcWBX4gu22WanY4qa/dC5wrj5cjBJxSsPk1RmXnjtJ2VFhVdRlXdoE0bRVhp\r\n0w1ecBNd1CdB+Q5yhGfxKowwgcHQ8bcwmeJf+fg5vtx0HiN2Pap+qWRklgno\r\nlvVO2Ej5n6IGqkivrQUtrWGPRjzM1lcDSYUMpfrHUj6GWu21+gK4qCj8e2OV\r\nDbwRnuqfcKrLiCZhkHw5vFjZyk5REYebNuMzVfSUFzLW88wOyYH3m6QwQ5Zm\r\ngieFpWNIYV6mibXVHS929eGZf71TKctXiNibf76ILen1NaoMzPbTHkzEz5Cb\r\ngLYmk+0qpMk5U7CFmNzQcx1kT+FC4jmv2qQfB8jIZv+qjRQ6rWPo8iXDvIpS\r\nrRu9MKSUQkxN72fqUQalGD5NvqNKFAfxjHY=\r\n=IIf4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","module":"dist/index.mjs","gitHead":"65542d18d22346f3332cf6b5d8ba49a7f866f1b4","scripts":{"test":"jest --config=./jest.config.js","build":"rm -rf dist && vite build --config vite.config.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","_npmVersion":"lerna/6.6.1/node@v19.7.0+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"19.7.0","dependencies":{"@iamjs/core":"^0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^4.2.1","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^2.2.0","@types/supertest":"^2.0.12"},"_npmOperationalInternal":{"tmp":"tmp/next_0.3.1_1681793342063_0.9563077055544511","host":"s3://npm-registry-packages"}},"0.3.2":{"name":"@iamjs/next","version":"0.3.2","keywords":["next.js","auth","permissions","roles"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@0.3.2","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","dist":{"shasum":"22b9bfaa87065d05d9559ad639dc22034a1725bb","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-0.3.2.tgz","fileCount":8,"integrity":"sha512-RqfS56ID07XIQQocmKJo5lU/tkX6k0ZWGXNSNgZ3D+vauzwCKM0aaSMYhd4hhz+IW4zz3gLXTLAEq7THaVo6lw==","signatures":[{"sig":"MEUCIGvb/qSknJoAUubuAwv8FLPITXOD+AQbcm9MgpOWycMAAiEA47//ZFqY2NmSTflaEMepVcIOVk88u0Z9EUyBbYZJoUQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25433,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkTXwmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoUARAAoHUFxSV6Jj1yTyFsN/rn6W5OCxlmjtkHdnBM/rAws+GtiXHW\r\nZltF76Bavuwx/Up1cl7vhKsEr0gK2tZ/z6SLL/l7fL1XI+dBLqYWa5FEybDH\r\n4g+nTy9Da1QHAAXDeO+VzlTzxbtN1Tv+MGM4vvh+gr7uXVog5XA5Ry+EREW4\r\nFvXtizzwP8B4QGU3liNzBAxJOIMY13QcPP/SqF3rkXxf+3WzB7s0pr9w9Z4p\r\nAQ1okguGKWXe1o5X3lMHZ8YMcHC7TSOUqGkd9F8SInVoydwXPOGVUZEIRAkk\r\nJqj6EGGMcCC0liiStd9MkRPAXb89vvl6aFCVxmLjTI45ActofAu+Oo/1UJ7T\r\nKbK9XtE/hfix7a/ahGiGoCx1BmdpkCpGV80c95fBajARPeAYQePSjj0rM/Ii\r\nntEKNbMLZceiliYcwMAuIoGL0HSZaYQ0wEilpkDOQQVK3oI2fQn1op/4DNMG\r\nY7eoSFBTjAPosffN/ta1PZZ+dJSdrrM0v64Weit8wU8FjKdjxKVM9V6cbWzo\r\nku+cIRXnidfXIDkcmegyTGxYcdyJuMcIErUT2p0as5DO/LV6gz+VOdEXM05k\r\n8Iiaq2n9Kz5O6VicphtjSxQf5fyWlArf8IwMzhriLmP1VES9GlZXgqGGU4Ax\r\nIRxwKAmSYmps2rkHYjI5yjAzXtowOyBrhws=\r\n=3aMC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","module":"dist/index.mjs","gitHead":"a9e727e30f2e2d258f5e6d2a15034f8b45a25ea0","scripts":{"test":"jest --config=./jest.config.js","build":"rm -rf dist && vite build --config vite.config.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","_npmVersion":"lerna/6.6.1/node@v19.7.0+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"19.7.0","dependencies":{"@iamjs/core":"^0.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^4.2.1","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^2.2.0","@types/supertest":"^2.0.12"},"_npmOperationalInternal":{"tmp":"tmp/next_0.3.2_1682799654182_0.8898411242817699","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"@iamjs/next","version":"0.4.0","keywords":["next.js","auth","permissions","roles"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@0.4.0","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","dist":{"shasum":"4fed2b0ea17b00c001e42272398cb54353b39518","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-0.4.0.tgz","fileCount":8,"integrity":"sha512-T3KgGlHF6Tt44WElVIOoq6xVq77NPfhtZlRHdUee9tG6I3s5KivRMzC89esdUie/U0yJhJDAypV/jBgSPpd3fw==","signatures":[{"sig":"MEUCIAzehxfwQMBhKluMmKF2xS4lfcQFoUYskUVwMfHR07Z7AiEAkBn0y4eF3GippfSP3xrGtaZIBvP5IDwDGpYyusa/aWU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkTr2nACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo8rw//d4DHjjEzjjDKlAYG7bUUgYaWb1lOdU0bHbcZW/AJ6MCpUEGo\r\nIWVHQFVObvsIkObb/MfzBgLqERPvSBc8NNIPf9sBIF1FfF1ja7rJt+6XOrp9\r\neGFx3YRic1yjHYC/3G8/YDUTflk2SIxRTeg8pC28WtKqEv0s8Lt7uuo2tMIA\r\nfBJsouBRoM8Hr3AUeSKvKWT0hr38iwmNYO3hE36Qn0v+fIic935sEZwZ98ft\r\n0uHHy+bFp81DPB4zKtLiTS9Ri+I50sDcxWQ1yWptaMMfeg+Nh11kQWjWJ3Q+\r\n3yExmlBxr4TOWjIVREeFwmBIOTjEWItesciXogVYYtvMdCL8J7HBW32B+DmG\r\nSlW6ChWcwdsVlbIMSiBgzJ4SI6gY/7TET9cX0PJkiRU//DCptXpZIkRRBrVg\r\nIoXhvU2099hW+uCro3mP4SuuWc6p4U6fJLsrv5iIIEVY+4NbnduuqnXBTPmU\r\nC5KO7BB+/fsWgiu2NJW6Hdk+hBE05uSVgUhgklUmY6IwtRI7S2t5u1Ma3l1L\r\nvl2IDG2pzYz4BuCudxXo6im6zQQt8GJew/ug+STHzFExiHXl1q+5LiLm3Mqo\r\nN6mYSEttAxQFmSrQp3L86rzlCw5lLb8GZTMPiAKLsZnSZRQLney5LZe36xS2\r\nh2ZRSFKX1xyB9b6ROjm1/YZLa8LJKWyjVnE=\r\n=nDUT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","module":"dist/index.mjs","gitHead":"39bc7b8293b75c13991100d8132aa1ec15e1e80b","scripts":{"test":"jest --config=./jest.config.js","build":"rm -rf dist && vite build --config vite.config.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","_npmVersion":"lerna/6.6.1/node@v19.7.0+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"19.7.0","dependencies":{"@iamjs/core":"^0.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^4.2.1","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^2.2.0","@types/supertest":"^2.0.12"},"_npmOperationalInternal":{"tmp":"tmp/next_0.4.0_1682881959495_0.9041904219087222","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@iamjs/next","version":"1.0.0","keywords":["next.js","auth","permissions","roles"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@1.0.0","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","dist":{"shasum":"7ce20b495c22c1dffee80f841d09d8fa6b296614","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-1.0.0.tgz","fileCount":8,"integrity":"sha512-Ee7SnzvRz3BC1Q5PNsyZFrt/0zRRE3edipDMuhFDOuHzQmYNmx+36jOBO41xrb+SsJI1yn6WiZz561e9K61dZw==","signatures":[{"sig":"MEUCIC/WCzgpT/uq1lMcBpweBhdXWAgYeHiCsBw7lDsRp0KRAiEAzAu35jDKYqVbm/G30n0rwCJtevtUQtOwNm+YtTlXZPA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20773},"main":"dist/index.js","module":"dist/index.mjs","gitHead":"73b97b47e202a764c7420cac476e47f302f29a2c","scripts":{"test":"jest --config=./jest.config.js","build":"rm -rf dist && vite build --config vite.config.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","_npmVersion":"lerna/6.6.1/node@v20.3.1+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"20.3.1","dependencies":{"@iamjs/core":"^0.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^4.2.1","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^2.2.0","@types/supertest":"^2.0.12"},"_npmOperationalInternal":{"tmp":"tmp/next_1.0.0_1688758865479_0.5435726520997515","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@iamjs/next","version":"1.0.1","keywords":["next.js","auth","permissions","roles"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@1.0.1","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","dist":{"shasum":"b8aa0f12fd22761cf05c452ff1d50b1cc3cabbc1","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-1.0.1.tgz","fileCount":8,"integrity":"sha512-C9dpUPhfdLt+GpMyAj5RLz/faN/x0tEceP4zfifs8jD4F7Y91QI4w+Ri8jSY3fvX0FGg27kecjzIK8D6iipeww==","signatures":[{"sig":"MEQCIGuecyiUWxnt+eCud8Y+mphs4AGmgQNO7dmSLh1T1jNnAiB4NaqtM+Otu0qwRFoTNBgx4lX0r3DXlnWpolQ2ep4sXg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20773},"main":"dist/index.js","module":"dist/index.mjs","gitHead":"94d696cafeed43e7f22e3c524914bcf5dc059d84","scripts":{"test":"jest --config=./jest.config.js","build":"rm -rf dist && vite build --config vite.config.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","_npmVersion":"lerna/6.6.1/node@v20.3.1+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"20.3.1","dependencies":{"@iamjs/core":"^1.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^4.2.1","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^2.2.0","@types/supertest":"^2.0.12"},"_npmOperationalInternal":{"tmp":"tmp/next_1.0.1_1688760091898_0.977505512660569","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@iamjs/next","version":"1.0.2","keywords":["next.js","auth","permissions","roles"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@1.0.2","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","dist":{"shasum":"dee043bf498c8fde22a631a05ec8590634af09a0","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-1.0.2.tgz","fileCount":8,"integrity":"sha512-BplIY/ZpJ+10B5xsBLT6QKo4u3+Cmj2irvOQeZhGXBMkz+u+3wI2LpC4MUGog2wLTjAIO4tJg0+oV1n6T1sZXA==","signatures":[{"sig":"MEQCID6p3YqV7MYlW5ZhBEFYSdoWeqL6PkiGL0Lrd7C5UtLLAiAJJoFAnSPjZ4UfvLjQSsiYBYOfttzFiEFKWVfRtYwzLg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20773},"main":"dist/index.js","module":"dist/index.mjs","gitHead":"42f2bbcbb811332e9bd0045add6dceb3d30b83d6","scripts":{"test":"jest --config=./jest.config.js","build":"rm -rf dist && vite build --config vite.config.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","_npmVersion":"lerna/6.6.2/node@v20.3.1+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"20.3.1","dependencies":{"@iamjs/core":"^1.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^4.2.1","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^2.2.0","@types/supertest":"^2.0.12"},"_npmOperationalInternal":{"tmp":"tmp/next_1.0.2_1688760296585_0.1625739430332358","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@iamjs/next","version":"1.0.3","keywords":["next.js","auth","permissions","roles"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@1.0.3","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","dist":{"shasum":"ad800b0bf038e457569a67579a2574ab4f9e91bb","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-1.0.3.tgz","fileCount":8,"integrity":"sha512-CAyBJJVCF4a1VGvZRvTnpnNDs3kyXyFx5V7y3tizDeLTELG9v2wg/nc5JxaPJeGZIfAFR704saLTUmd9Ktbtcw==","signatures":[{"sig":"MEUCIQDcuQRs9cHlN/MHz8f6Q/NDuCIRqT5iWJfNKuSlKAlOLAIgCj/ZY5h1R+PjgtZ2XZzpD5mZir77z+lF2KMSWHuRYsg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20831},"main":"dist/index.js","module":"dist/index.mjs","gitHead":"a76b570a7fdb3e1f17647be288f1c31e0a0d0a51","scripts":{"test":"jest --config=./jest.config.js","build":"rm -rf dist && vite build --config vite.config.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","_npmVersion":"lerna/6.6.1/node@v20.3.1+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"20.3.1","dependencies":{"@iamjs/core":"^1.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^4.2.1","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^2.2.0","@types/supertest":"^2.0.12"},"_npmOperationalInternal":{"tmp":"tmp/next_1.0.3_1689728893070_0.8795396091160324","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@iamjs/next","version":"1.0.4","keywords":["next.js","auth","permissions","roles"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@1.0.4","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","dist":{"shasum":"0d431dd44da1d9cc25a8c4f086e7338039450ef6","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-1.0.4.tgz","fileCount":8,"integrity":"sha512-OFabj9MXDHb2hkOjVfsaoJEsMf2YR3YE96ktebSIc1Ozl5V67QJXPLPbxmh9tMpti1ZGlLcFPPCd40hwOVOjzw==","signatures":[{"sig":"MEUCIAtaqzbgQflRofK5d8mMKZaRXwY0tGdnzhDaMpKmX70fAiEAkvFriKRZ33URW1GtWKUw60r9R/LHyQ/cpbcdBUTEUGs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20831},"main":"dist/index.js","module":"dist/index.mjs","gitHead":"63ec8759ad01c1a30c979c179f355a8eebfe2cfb","scripts":{"test":"jest --config=./jest.config.js","build":"rm -rf dist && vite build --config vite.config.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","_npmVersion":"lerna/6.6.1/node@v20.3.1+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"20.3.1","dependencies":{"@iamjs/core":"^1.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^4.2.1","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^2.2.0","@types/supertest":"^2.0.12"},"_npmOperationalInternal":{"tmp":"tmp/next_1.0.4_1689953378654_0.2524987755757564","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@iamjs/next","version":"1.0.5","keywords":["next.js","auth","permissions","roles"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@1.0.5","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","dist":{"shasum":"e6f2a912615d5a61f86e95f6fc3d7efc84ecd210","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-1.0.5.tgz","fileCount":8,"integrity":"sha512-Wqy4Y62PDC1xfxbSBDBhMNWbkAIqgPByKb7HpEkpXB1/7ymKeEhIpI+sL82qF3B3oWAbZk4fooI/+2oVCIevTg==","signatures":[{"sig":"MEUCIDwZAmuCYokY9fJHS7JVw2Rf4FPEuv01B7hBDVx0li5KAiEAqUxeTHl/HxyXcUKH4W2atJN6qu2NB80rbxN2HqZVFYY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20782},"main":"dist/index.js","module":"dist/index.mjs","gitHead":"f0e795421a4ea6828d3d6ef1722bada083f862c9","scripts":{"test":"jest --config=./jest.config.js","build":"rm -rf dist && vite build --config vite.config.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","_npmVersion":"lerna/6.6.1/node@v20.3.1+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"20.3.1","dependencies":{"@iamjs/core":"^1.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^4.2.1","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^2.2.0","@types/supertest":"^2.0.12"},"_npmOperationalInternal":{"tmp":"tmp/next_1.0.5_1689957470902_0.049736555705825136","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"@iamjs/next","version":"1.0.6","keywords":["next.js","auth","permissions","roles"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@1.0.6","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","dist":{"shasum":"43a69ffd25996200470ffa65cf393e0013b68ef6","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-1.0.6.tgz","fileCount":8,"integrity":"sha512-pHpVSiOTN5AupC8OenYCtQmdNV63x55kzgRhGY4Gi64AyD4uzm6L/1trV88vNtoSJwg74eZ2RBSGBpDEfWYVKQ==","signatures":[{"sig":"MEYCIQC2mtsv5Z0wb4OFXszji8f3uZp7q/Fz+zg2m/fFD0IwiAIhAJSZsMTmbkLqpndTUq0wKkdUkoNK6pQZSb+fiHLmA3Hu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20841},"main":"dist/index.js","module":"dist/index.mjs","gitHead":"dd50452a7a6de0b50170036f827a4db4b6c5e522","scripts":{"test":"jest --config=./jest.config.js","build":"rm -rf dist && vite build --config vite.config.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","_npmVersion":"lerna/6.6.1/node@v20.3.1+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"20.3.1","dependencies":{"@iamjs/core":"^1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^4.2.1","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^2.2.0","@types/supertest":"^2.0.12"},"_npmOperationalInternal":{"tmp":"tmp/next_1.0.6_1690317846362_0.0034718517977920804","host":"s3://npm-registry-packages"}},"2.0.7":{"name":"@iamjs/next","version":"2.0.7","keywords":["iamjs","auth","acl","rbac","abac","access control","authorization","authorization library","authorization library for node","role based access control","attribute","attribute based access control","access control library","nextjs","next.js"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@2.0.7","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","bugs":{"url":"https://github.com/triyanox/iamjs/issues"},"dist":{"shasum":"b765cab4cac2b07bec8c406fd53ba8dc402cda6b","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-2.0.7.tgz","fileCount":8,"integrity":"sha512-kVyKh/Xh55XE1wk8gNokc1xPA1Lxecghl9YNJUVNi1JYB1FTCPZKo78uYTgNmSjxOq9tjujehdXbqIawxWriJQ==","signatures":[{"sig":"MEYCIQCLTCeDWuJxaBwkQPgOripK7Y7R8eYUN8mx5dc6r6RwLQIhANH/JLuRPS94gm91EFmGEUTQBg4SkwRnDA0bi+ElixUY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22402},"main":"dist/index.js","module":"dist/index.mjs","gitHead":"994551228a9eb1bb8a2d07599f876a2e3e30a9c1","scripts":{"test":"jest --config=./jest.config.js","build":"rm -rf dist && vite build --config vite.config.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","repository":{"url":"git+https://github.com/triyanox/iamjs.git","type":"git"},"_npmVersion":"lerna/6.6.2/node@v20.3.1+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"20.3.1","dependencies":{"@iamjs/core":"^2.0.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^4.2.1","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^2.2.0","@types/supertest":"^2.0.12"},"_npmOperationalInternal":{"tmp":"tmp/next_2.0.7_1691669661128_0.140731351160285","host":"s3://npm-registry-packages"}},"2.0.8":{"name":"@iamjs/next","version":"2.0.8","keywords":["iamjs","auth","acl","rbac","abac","access control","authorization","authorization library","authorization library for node","role based access control","attribute","attribute based access control","access control library","nextjs","next.js"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@2.0.8","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","bugs":{"url":"https://github.com/triyanox/iamjs/issues"},"dist":{"shasum":"386c2a61c58c50c76ea0a112b872ef53cf11a69f","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-2.0.8.tgz","fileCount":8,"integrity":"sha512-QOumShaklK2SfwwX8/of0HT0qWErhy+Xe1seyGhDdqdo+JGZ1Y8O1aJHBhOulESRbdj2nbHr6vkd7iDPbWTHiQ==","signatures":[{"sig":"MEMCIH3bDerXw0ZJvJYHfQSsNwd35CRiIj2yulvgr4oNz5m3Ah8X423zf06A5XaSH6OY7SDXtV3AwMroc7/kvr4GUkMu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23394},"main":"dist/index.js","module":"dist/index.mjs","gitHead":"81311c0c24d1ccbc57e4f31a6f4e5a3156c34937","scripts":{"test":"jest --config=./jest.config.js","build":"rm -rf dist && vite build --config vite.config.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","repository":{"url":"git+https://github.com/triyanox/iamjs.git","type":"git"},"_npmVersion":"lerna/6.6.1/node@v20.3.1+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"20.3.1","dependencies":{"@iamjs/core":"^2.0.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^4.2.1","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^2.2.0","@types/supertest":"^2.0.12"},"_npmOperationalInternal":{"tmp":"tmp/next_2.0.8_1691732675439_0.11430058662135134","host":"s3://npm-registry-packages"}},"2.0.9":{"name":"@iamjs/next","version":"2.0.9","keywords":["iamjs","auth","acl","rbac","abac","access control","authorization","authorization library","authorization library for node","role based access control","attribute","attribute based access control","access control library","nextjs","next.js","typesafety","typescript"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@2.0.9","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","bugs":{"url":"https://github.com/triyanox/iamjs/issues"},"dist":{"shasum":"45f6f0f67ab7b11d1bac4a83a1574ace1a3ed4d9","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-2.0.9.tgz","fileCount":8,"integrity":"sha512-PHU+pdepSqPYqV4IBppToKVB1kWFwCer9Fq4a0g5SRHN7iMUySUuHkNF9ozqSEFhNBQt9RNbUWmpZgQFxYntSw==","signatures":[{"sig":"MEQCIGLZoBuZpm3s9IWILGozE2IufbdEaFdewbhRi+Eeb9hXAiBDzL/2MG2aLzicy0Mq02CO8REOXZ+tLN3nM+V0MXRmkw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31776},"main":"dist/index.js","module":"dist/index.mjs","gitHead":"dd6b6c6e5af9ec6ac0f031fc19f18e96d15560d6","scripts":{"test":"jest --config=./jest.config.js","build":"rm -rf dist && vite build --config vite.config.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","repository":{"url":"git+https://github.com/triyanox/iamjs.git","type":"git"},"_npmVersion":"lerna/6.6.2/node@v18.14.2+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"18.14.2","dependencies":{"@iamjs/core":"^2.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^4.2.1","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^3.5.2","@types/supertest":"^2.0.12"},"_npmOperationalInternal":{"tmp":"tmp/next_2.0.9_1693675207442_0.37142634762563254","host":"s3://npm-registry-packages"}},"2.0.11":{"name":"@iamjs/next","version":"2.0.11","keywords":["iamjs","auth","acl","rbac","abac","access control","authorization","authorization library","authorization library for node","role based access control","attribute","attribute based access control","access control library","nextjs","next.js","typesafety","typescript"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@2.0.11","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","bugs":{"url":"https://github.com/triyanox/iamjs/issues"},"dist":{"shasum":"8a2119a5a05353210d282029403bad92d3807f45","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-2.0.11.tgz","fileCount":9,"integrity":"sha512-neTuMIQNaEpMhQHqDKR2gzAyK0i1aYpEzA/tCn3U1LDd7th/LHf17s9mgcvftat80CGYBYHwPloDDM0XntOctQ==","signatures":[{"sig":"MEQCIAbKguCm9k94DqlgWAWfweftc4ney94CbKfJ276VhjrxAiBdNGxhLv6H381dCSXSJCDFnDxnuzZN6d/btyKb6K20tw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32351},"main":"dist/index.js","module":"dist/index.mjs","gitHead":"2726b56b86683fea07885bee97f994b8fd891f3c","scripts":{"test":"jest --config=./jest.config.js","build":"rm -rf dist && vite build --config vite.config.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","repository":{"url":"git+https://github.com/triyanox/iamjs.git","type":"git"},"_npmVersion":"lerna/6.6.2/node@v20.5.1+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"20.5.1","dependencies":{"@iamjs/core":"^2.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^5.0.2","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^3.5.2","@types/supertest":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/next_2.0.11_1706279784830_0.28395199303774143","host":"s3://npm-registry-packages"}},"2.0.12":{"name":"@iamjs/next","version":"2.0.12","keywords":["iamjs","auth","acl","rbac","abac","access control","authorization","authorization library","authorization library for node","role based access control","attribute","attribute based access control","access control library","nextjs","next.js","typesafety","typescript"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@2.0.12","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","bugs":{"url":"https://github.com/triyanox/iamjs/issues"},"dist":{"shasum":"c1efa14e52531252bfa1ea39716e96cdf548a880","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-2.0.12.tgz","fileCount":9,"integrity":"sha512-1zts6UZkryRulgNPFTXmBiS98rPXXOsRzMCi06VSEu8tndJPqp9PImRwpLh804nSTq/9GPfynwDUWL/VG+PzLA==","signatures":[{"sig":"MEUCIFFXBaCjBVV9mB+zoOJ1RtPurg2dY/kTbKuQRu5sPyp6AiEA4Nqua0en9UmPJcs79mo52/h5yXb2Q6TRPh+QoWf85Ak=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32351},"main":"dist/index.js","module":"dist/index.mjs","gitHead":"50beee55a9711a135b0de978efd3f2245615e82f","scripts":{"test":"jest --config=./jest.config.js","build":"rm -rf dist && vite build --config vite.config.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","repository":{"url":"git+https://github.com/triyanox/iamjs.git","type":"git"},"_npmVersion":"lerna/6.6.2/node@v20.5.1+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"20.5.1","dependencies":{"@iamjs/core":"^2.0.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^5.0.2","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^3.5.2","@types/supertest":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/next_2.0.12_1706280427900_0.21467395906412778","host":"s3://npm-registry-packages"}},"2.0.13":{"name":"@iamjs/next","version":"2.0.13","keywords":["iamjs","auth","acl","rbac","abac","access control","authorization","authorization library","authorization library for node","role based access control","attribute","attribute based access control","access control library","nextjs","next.js","typesafety","typescript"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@2.0.13","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","bugs":{"url":"https://github.com/triyanox/iamjs/issues"},"dist":{"shasum":"f49b2f51a895f5aa952d256cbc739d718a61ff36","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-2.0.13.tgz","fileCount":9,"integrity":"sha512-Ie7ra1C600dFJLoVwZJ3VNFph+6LaK/0sDityjHToOnDl5NWTwlrzQpRDNoG/BxoodWetiQKRICPp3dRzM/RTw==","signatures":[{"sig":"MEUCIF0KVViNfDERJQ8WqVV1Hk5KibqZ9uKGfsx8YqIo+uJZAiEA2iD3Mcfljk3WQkCAhDYF0xL215ZwKABWZTdKjur0uqI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32351},"main":"dist/index.js","module":"dist/index.mjs","gitHead":"b03139b2de5a0d303122a0f8d243c4c0b8eec3f0","scripts":{"test":"jest --config=./jest.config.js","build":"rm -rf dist && vite build --config vite.config.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","repository":{"url":"git+https://github.com/triyanox/iamjs.git","type":"git"},"_npmVersion":"lerna/6.6.2/node@v20.5.1+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"20.5.1","dependencies":{"@iamjs/core":"^2.0.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^5.0.2","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^3.5.2","@types/supertest":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/next_2.0.13_1706281144993_0.7746932916769609","host":"s3://npm-registry-packages"}},"2.0.14":{"name":"@iamjs/next","version":"2.0.14","keywords":["iamjs","auth","acl","rbac","abac","access control","authorization","authorization library","authorization library for node","role based access control","attribute","attribute based access control","access control library","nextjs","next.js","typesafety","typescript"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@2.0.14","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","bugs":{"url":"https://github.com/triyanox/iamjs/issues"},"dist":{"shasum":"ed742d8e94616688c84ce985654df6b81732ba5d","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-2.0.14.tgz","fileCount":9,"integrity":"sha512-HNfNclneeR4Lfbqv6NV/yCE3PR/ZyjmGeICLsog1gbH8n/YhSpV5I/VMQnkvZ4T8EcaEI4yhZzN7bvRr6OExVQ==","signatures":[{"sig":"MEUCIDM97sgFizFOMa2z4WKXsGATHCt/HAFsYd/veD4zcp12AiEA+HWSR2kwx+qyWeYvShTi26PBCAZBkNJO0vIDoyq1bc0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32351},"main":"dist/index.js","module":"dist/index.mjs","gitHead":"b83105dd9180ae853e68d16f95f64515e8cc3f34","scripts":{"test":"jest --config=./jest.config.js","build":"rm -rf dist && vite build --config vite.config.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","repository":{"url":"git+https://github.com/triyanox/iamjs.git","type":"git"},"_npmVersion":"lerna/6.6.2/node@v20.5.1+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"20.5.1","dependencies":{"@iamjs/core":"^2.0.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^5.0.2","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^3.5.2","@types/supertest":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/next_2.0.14_1706281512514_0.5525103382607355","host":"s3://npm-registry-packages"}},"2.0.16":{"name":"@iamjs/next","version":"2.0.16","keywords":["iamjs","auth","acl","rbac","abac","access control","authorization","authorization library","authorization library for node","role based access control","attribute","attribute based access control","access control library","nextjs","next.js","typesafety","typescript"],"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","_id":"@iamjs/next@2.0.16","maintainers":[{"name":"triyanox","email":"hi@achaq.dev"}],"homepage":"https://iamjs.achaq.dev","bugs":{"url":"https://github.com/triyanox/iamjs/issues"},"dist":{"shasum":"861b56f32eec1a54fd0ce1e20dc0231cc3a7f186","tarball":"https://registry.npmjs.org/@iamjs/next/-/next-2.0.16.tgz","fileCount":9,"integrity":"sha512-Hzk4+8e+/YS+5KZ6DYqOpmtN4BjGfeaDtdtVVX7TvOYM3LF91StFGepaqCe9XR39fCapk+SZhoxmq4S9tUEjLQ==","signatures":[{"sig":"MEQCIBblwPyi2TbR9PMWziGLwsAbWpUzDSREB99596lCKF8OAiASsUyP+XfRIitfxiOixDza/xUkIEkBV04EvXGOWM9Obg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":35032},"main":"dist/index.js","module":"dist/index.mjs","gitHead":"0f41b633cbd0755524d6ed99252922ee3c2efac0","scripts":{"test":"jest --config=./jest.config.js","build":"rm -rf dist && vite build --config vite.config.js","clean":"rm -rf dist","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"triyanox","email":"hi@achaq.dev"},"registry":"https://registry.npmjs.org/","repository":{"url":"git+https://github.com/triyanox/iamjs.git","type":"git"},"_npmVersion":"lerna/6.6.2/node@v21.7.3+arm64 (darwin)","description":"This package contains server-side components for integrating the authorization library into a Next.js application.","directories":{"lib":"lib","test":"__tests__"},"_nodeVersion":"21.7.3","dependencies":{"@iamjs/core":"^2.0.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":"^13.3.0","vite":"^5.0.2","ts-jest":"^29.1.0","supertest":"^6.3.3","@types/jest":"^29.5.0","vite-plugin-dts":"^3.5.2","@types/supertest":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/next_2.0.16_1720835452474_0.7521448630789314","host":"s3://npm-registry-packages"}}},"time":{"created":"2023-04-13T21:45:56.442Z","modified":"2025-10-27T13:29:36.476Z","0.2.0":"2023-04-13T21:45:56.648Z","0.2.1":"2023-04-13T22:24:21.091Z","0.2.2":"2023-04-13T22:32:56.613Z","0.2.3":"2023-04-14T20:36:19.806Z","0.2.4":"2023-04-14T22:10:09.267Z","0.2.5":"2023-04-15T12:04:05.979Z","0.2.6":"2023-04-15T12:12:03.897Z","0.3.0":"2023-04-15T14:28:48.331Z","0.3.1":"2023-04-18T04:49:02.228Z","0.3.2":"2023-04-29T20:20:54.368Z","0.4.0":"2023-04-30T19:12:39.682Z","1.0.0":"2023-07-07T19:41:05.680Z","1.0.1":"2023-07-07T20:01:32.054Z","1.0.2":"2023-07-07T20:04:56.758Z","1.0.3":"2023-07-19T01:08:13.234Z","1.0.4":"2023-07-21T15:29:38.819Z","1.0.5":"2023-07-21T16:37:51.079Z","1.0.6":"2023-07-25T20:44:06.527Z","2.0.7":"2023-08-10T12:14:21.299Z","2.0.8":"2023-08-11T05:44:35.636Z","2.0.9":"2023-09-02T17:20:07.644Z","2.0.11":"2024-01-26T14:36:25.038Z","2.0.12":"2024-01-26T14:47:08.089Z","2.0.13":"2024-01-26T14:59:05.140Z","2.0.14":"2024-01-26T15:05:12.675Z","2.0.16":"2024-07-13T01:50:52.670Z"},"bugs":{"url":"https://github.com/triyanox/iamjs/issues"},"author":{"name":"Mohamed Achaq","email":"hi@achaq.dev"},"license":"MIT","homepage":"https://iamjs.achaq.dev","keywords":["iamjs","auth","acl","rbac","abac","access control","authorization","authorization library","authorization library for node","role based access control","attribute","attribute based access control","access control library","nextjs","next.js","typesafety","typescript"],"repository":{"url":"git+https://github.com/triyanox/iamjs.git","type":"git"},"description":"This package contains server-side components for integrating the authorization library into a Next.js application.","maintainers":[{"email":"hi@chaqchase.com","name":"chaqchase"}],"readme":"# `@iamjs/next`\n\n<img src=\"https://raw.githubusercontent.com/triyanox/iamjs/main/assets/banner.png\" alt=\"iamjs banner\"\ntitle=\"iamjs\" align=\"center\" height=\"auto\" width=\"100%\"/>\n\n## Overview\n\nThe @iamjs/next package provides middleware for integrating the iamjs role-based access control (RBAC) library with Next.js applications. This middleware simplifies the process of managing permissions and authorizing requests in both API routes and App Router configurations.\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Key Features](#key-features)\n- [Usage](#usage)\n  - [Basic Authorization](#basic-authorization)\n  - [Advanced Usage with Dynamic Role Construction](#advanced-usage-with-dynamic-role-construction)\n  - [App Router API Routes](#app-router-api-routes)\n  - [Custom Success and Error Handling](#custom-success-and-error-handling)\n  - [TypeScript Support](#typescript-support)\n  - [Logging User Activity](#logging-user-activity)\n- [API Reference](#api-reference)\n- [Best Practices](#best-practices)\n- [Troubleshooting](#troubleshooting)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Installation\n\nTo use @iamjs/next, you need to install both the core library and the Next.js middleware:\n\n```bash\nnpm install @iamjs/core @iamjs/next\n# or\nyarn add @iamjs/core @iamjs/next\n# or\npnpm add @iamjs/core @iamjs/next\n# or\nbun add @iamjs/core @iamjs/next\n```\n\n## Key Features\n\n- Seamless integration with Next.js applications\n- Support for both API Routes and App Router\n- Flexible role-based access control\n- Custom success and error handling\n- TypeScript support for improved type safety\n- Activity logging for auditing and monitoring\n\n## Usage\n\n### Basic Authorization\n\nHere's a basic example of how to use the @iamjs/next middleware for authorization in a Next.js API route:\n\n```typescript\nimport { Role, Schema } from '@iamjs/core';\nimport { NextRoleManager } from '@iamjs/next';\nimport { NextApiRequest, NextApiResponse } from 'next';\n\n// Define a role\nconst userRole = new Role({\n  name: 'user',\n  config: {\n    posts: {\n      base: 'crudl',\n      custom: {\n        publish: true\n      }\n    },\n    comments: {\n      base: 'crud-'\n    }\n  }\n});\n\n// Create a schema with roles\nconst schema = new Schema({\n  roles: { user: userRole }\n});\n\n// Initialize the NextRoleManager\nconst roleManager = new NextRoleManager({\n  schema,\n  onSuccess: (req, res) => {\n    res.status(200).json({ message: 'Access granted' });\n  },\n  onError: (err, req, res) => {\n    console.error(err);\n    res.status(403).json({ error: 'Access denied' });\n  }\n});\n\n// API route handler\nconst handler = roleManager.check(\n  (req: NextApiRequest, res: NextApiResponse) => {\n    res.status(200).json({ message: 'Posts retrieved successfully' });\n  },\n  {\n    resources: 'posts',\n    actions: ['read', 'list'],\n    role: 'user',\n    strict: true\n  }\n);\n\nexport default handler;\n```\n\nIn this example, we define a `user` role with specific permissions for `posts` and `comments` resources. The `NextRoleManager` is then used to check if the user has the required permissions to access the API route.\n\n### Advanced Usage with Dynamic Role Construction\n\nFor more complex scenarios, you can dynamically construct roles based on request data:\n\n```typescript\nimport { Role, Schema } from '@iamjs/core';\nimport { NextRoleManager } from '@iamjs/next';\nimport { NextApiRequest, NextApiResponse } from 'next';\n\n// ... (previous role and schema setup)\n\nconst roleManager = new NextRoleManager({\n  schema,\n  onSuccess: (req, res) => {\n    res.status(200).json({ message: 'Access granted' });\n  },\n  onError: (err, req, res) => {\n    console.error(err);\n    res.status(403).json({ error: 'Access denied' });\n  }\n});\n\n// Middleware to attach user permissions to the request\nconst withAuth = (handler) => {\n  return (req: NextApiRequest, res: NextApiResponse) => {\n    // In a real app, you'd fetch this from a database or JWT\n    req.permissions = userRole.toObject();\n    return handler(req, res);\n  };\n};\n\nconst handler = roleManager.check(\n  (req: NextApiRequest, res: NextApiResponse) => {\n    res.status(200).json({ message: 'Posts retrieved successfully' });\n  },\n  {\n    resources: 'posts',\n    actions: ['read', 'list'],\n    strict: true,\n    construct: true,\n    data: async (req) => req.permissions\n  }\n);\n\nexport default withAuth(handler);\n```\n\nThis approach allows you to construct the role dynamically based on the user's actual permissions, which could be stored in a database or included in a JWT.\n\n### App Router API Routes\n\nFor Next.js 13+ App Router API routes, which use the Web Fetch API, you can use the `checkFn` method:\n\n```typescript\nimport { NextResponse } from 'next/server';\nimport { roleManager } from '@/lib/roleManager';\nimport { getUserPermissions } from '@/lib/auth';\n\nexport async function GET(request: Request) {\n  const authorized = await roleManager.checkFn({\n    resources: 'posts',\n    actions: ['read'],\n    strict: true,\n    construct: true,\n    data: async () => {\n      return await getUserPermissions(request);\n    }\n  });\n\n  if (!authorized) {\n    return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });\n  }\n  \n  return NextResponse.json({ message: 'Posts retrieved successfully' }, { status: 200 });\n}\n```\n\nThis method allows you to perform authorization checks within the new App Router API routes.\n\n### Custom Success and Error Handling\n\nYou can customize how the middleware handles successful and failed authorization attempts:\n\n```typescript\nconst roleManager = new NextRoleManager({\n  schema,\n  onSuccess: (req, res) => {\n    console.log('Authorization successful for user:', req.userId);\n    res.status(200).json({ message: 'Access granted' });\n  },\n  onError: (err, req, res) => {\n    console.error('Authorization failed:', err);\n    res.status(403).json({\n      error: 'Access denied',\n      details: err.message\n    });\n  }\n});\n```\n\nThese handlers give you fine-grained control over the response sent to the client and allow for custom logging or other actions.\n\n### TypeScript Support\n\nThe @iamjs/next package provides strong TypeScript support. You can use generics to specify the types of your request and response objects:\n\n```typescript\nimport { NextApiRequest, NextApiResponse } from 'next';\n\ninterface CustomRequest extends NextApiRequest {\n  userId: string;\n  permissions: object;\n}\n\ninterface CustomResponse extends NextApiResponse {}\n\nconst roleManager = new NextRoleManager({\n  schema,\n  onSuccess: <CustomRequest, CustomResponse>((req, res) => {\n    console.log('Authorized user:', req.userId);\n    res.status(200).json({ message: 'Access granted' });\n  }),\n  onError: <CustomRequest, CustomResponse>((err, req, res) => {\n    console.error(`User ${req.userId} unauthorized:`, err);\n    res.status(403).json({ error: 'Access denied' });\n  })\n});\n\nconst handler = roleManager.check<CustomRequest, CustomResponse>(\n  (req, res) => {\n    res.status(200).json({ message: `Posts retrieved for user ${req.userId}` });\n  },\n  {\n    resources: 'posts',\n    actions: ['read', 'list'],\n    role: 'user'\n  }\n);\n```\n\nThis ensures type safety throughout your application, reducing the likelihood of runtime errors.\n\n### Logging User Activity\n\nThe `NextRoleManager` allows you to log user activity, which can be useful for auditing and monitoring:\n\n```typescript\nconst roleManager = new NextRoleManager({\n  schema,\n  onSuccess: (req, res) => {\n    res.status(200).json({ message: 'Access granted' });\n  },\n  onError: (err, req, res) => {\n    res.status(403).json({ error: 'Access denied' });\n  },\n  async onActivity(data) {\n    console.log('User activity:', data);\n    // In a real application, you might want to save this to a database\n    await saveActivityLog(data);\n  }\n});\n```\n\nThe `onActivity` handler receives an object with the following properties:\n\n| Property   | Description                                               |\n|------------|-----------------------------------------------------------|\n| actions    | The action(s) that were authorized                        |\n| resources  | The resource(s) that were accessed                        |\n| role       | The role used for authorization                           |\n| success    | Whether the authorization was successful                  |\n| req        | The Next.js request object (for additional context)       |\n\n## API Reference\n\n### NextRoleManager\n\n- `constructor(options: NextRoleManagerOptions)`\n- `check(handler: NextApiHandler, options: CheckOptions): NextApiHandler`\n- `checkFn(options: CheckOptions): Promise<boolean>`\n\n### NextRoleManagerOptions\n\n- `schema: Schema` - The iamjs Schema containing role definitions\n- `onError?: (err: Error, req: NextApiRequest, res: NextApiResponse) => void`\n- `onSuccess?: (req: NextApiRequest, res: NextApiResponse) => void`\n- `onActivity?: (data: ActivityData) => Promise<void> | void`\n\n### CheckOptions\n\n- `resources: string | string[]` - The resource(s) being accessed\n- `actions: string[]` - The action(s) being performed\n- `role?: string` - The role to check against (if not using `construct`)\n- `strict?: boolean` - Whether to require all specified permissions\n- `construct?: boolean` - Whether to construct the role dynamically\n- `data?: (req: NextApiRequest) => Promise<object> | object` - Function to retrieve role data (if `construct` is true)\n\n## Best Practices\n\n1. **Use Environment-Specific Schemas**: Create different schemas for different environments (development, staging, production) to manage permissions effectively across your deployment pipeline.\n\n2. **Implement Role Hierarchies**: Utilize role inheritance to create a hierarchy, reducing duplication and simplifying management.\n\n3. **Granular Permissions**: Define permissions at a granular level for fine-tuned access control.\n\n4. **Cache Role Data**: For improved performance, consider caching role data, especially if you're constructing roles dynamically.\n\n5. **Audit Logs**: Implement comprehensive logging using the `onActivity` handler to maintain an audit trail of all authorization decisions.\n\n6. **Error Handling**: Provide clear, informative error messages in your `onError` handler to aid in debugging and improve user experience.\n\n7. **Regular Reviews**: Periodically review and update your role definitions and permissions to ensure they align with your application's evolving security requirements.\n\n## Troubleshooting\n\n- **Authorization Always Fails**: Ensure that the role name in `check()` matches the role defined in your schema.\n- **TypeScript Errors**: Make sure you're using the correct types for your request and response objects.\n- **Performance Issues**: If you're seeing slow response times, consider caching role data or optimizing your `data` function in dynamic role construction.\n- **App Router Compatibility**: Remember to use `checkFn` instead of `check` for App Router API routes.\n\n## Contributing\n\nWe welcome contributions to @iamjs/next! If you'd like to contribute, please:\n\n1. Fork the repository\n2. Create a new branch for your feature or bug fix\n3. Make your changes and write tests if applicable\n4. Submit a pull request with a clear description of your changes\n\nPlease see our [Contributing Guide](CONTRIBUTING.md) for more detailed information.\n\n## License\n\n@iamjs/next is released under the [MIT License](LICENSE). See the LICENSE file for more details.","readmeFilename":"README.md"}