{"_id":"persian-captcha-generator","_rev":"39-1cbffe2329aec25b4d67bf5d195b4649","name":"persian-captcha-generator","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"persian-captcha-generator","version":"1.0.0","keywords":["captcha","persian","numbers","alphabets","typescript","security"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.0.0","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"d71f97efa5628b2badd2a0a2acb07e6b65db084f","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.0.0.tgz","fileCount":11,"integrity":"sha512-wie5e+KWi3Yo0gElPvEkA3RK9qxyv9YWUZIiQAR2Yp3APUnsU0Pu8tNTV16YyLf5H4tAiLqNvhDW7EFILOeHig==","signatures":[{"sig":"MEQCIBir1fr53MNkRpRsfkNUhjjqfP0s/OPdYJUsqNo0AXkEAiA/WfT8A2KrGg49/YkXEJyGXlKRE52vhS4R7cuojnUlWA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":184051},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"bb29df5b215fffaa28c43bf83af991efbed52901","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.9.0","description":"A lightweight library for generating customizable captchas with Persian numbers and alphabets.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"sharp":"^0.33.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.0.0_1734104373240_0.18284854233506875","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"persian-captcha-generator","version":"1.0.1","keywords":["captcha","persian","numbers","alphabets","typescript","security"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.0.1","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"be79c76600deda8567f9387caf0fee314933a007","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.0.1.tgz","fileCount":11,"integrity":"sha512-pGs4dxCo9trSCsrMOVTZRp5jAB0Jxg6oWfkGEb16nJBfbYFvv7nmK+/whLdodiuAqAKR6ygEN3OFpXlox4f4QQ==","signatures":[{"sig":"MEUCIH0X5brGt2uBFth5Z6FMFQTklNt+bFlRpniuI/OK7LqKAiEAk2GvnqFcDTjMr8AOhYvT5/9m1GycjdXBsABiJRbSOR8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":184055},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"0f60cd0c2c73e7399477956a18c875d65e41ca3a","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.9.0","description":"A lightweight library for generating customizable captchas with Persian numbers and alphabets.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"sharp":"^0.33.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.0.1_1734104709392_0.5096619742849575","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"persian-captcha-generator","version":"1.0.2","keywords":["captcha","persian","numbers","alphabets","typescript","security"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.0.2","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"33c2d8230f51e4f2521fb3ab4ffdb5187f7795f5","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.0.2.tgz","fileCount":11,"integrity":"sha512-8srtCeWfxZIpH/Yjl8IfUd6VAkticqGrpMj7N6wljb/jEuFisldPpIu9JtsarclbRuahS24Z//+EyKVk04L3mQ==","signatures":[{"sig":"MEUCIQDKYY1fZrtNqv92JXCiqLkMaPjeZabg74q7yEE34PNafwIgdeRHb6/co05dZR5DM1koKfEMSd+ermwJ0OQziJcDJ0Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":183924},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"7478a9a7b6bba12460bf99518087856b126b5ec9","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.9.0","description":"A lightweight library for generating customizable captchas with Persian numbers and alphabets.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"sharp":"^0.33.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.0.2_1734160507167_0.4083251617858983","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"persian-captcha-generator","version":"1.0.3","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.0.3","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"231abedd777c7555d64207fd5243d87f9790f420","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.0.3.tgz","fileCount":8,"integrity":"sha512-N4a9bykvc9gj5GYVYbjr4NlmTsTKTLO2gdve4EqCad3H+gvKf0Ohe0TwlaNC5GDWsD1VWn1XQ76xd/wKc5pljw==","signatures":[{"sig":"MEUCIQCDxJMaTxfxFtGtpOrsmI/lWJDydEqKHOM2HAc50WOesgIgTzB/uprCkcOBPafvNVzQ7OhnM/o3F8YAwthGtEdkRCU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":133448},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"83031547e80e429efdbd9bc71cb90403e1078f58","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.9.0","description":"A lightweight library for generating customizable captchas with Persian numbers and alphabets.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"sharp":"^0.33.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.0.3_1734171526805_0.49337409268967947","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"persian-captcha-generator","version":"1.0.4","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.0.4","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"ddffb50c315d6a73d64bf6beaf01f25d7aad294d","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.0.4.tgz","fileCount":8,"integrity":"sha512-Eqvd2kqNmabP50GVIf8TsfUdU2rrgYQSkEVZxHDO5mQuvOfDfEanIJEY+SWpzeFskKhj+5B55zA4MPU/3BKVaw==","signatures":[{"sig":"MEUCIQC8VSVCN5vMXRtcvS+HnL9GOvXgyDB7C3+PwG975REpzwIgTRYkK3LfbIOMK9VaOw6sijfRfIO9cki260Tk4VESCxA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":133445},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"b23bda72a2d7d90f866ed3f1960109a1f459b610","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.9.0","description":"A lightweight library for generating customizable captchas with Persian numbers and alphabets.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"sharp":"^0.33.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.0.4_1734171785129_0.954916159031673","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"persian-captcha-generator","version":"1.0.5","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.0.5","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"06133dd06f17937ec8a9020dd14ba686e7865e9a","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.0.5.tgz","fileCount":8,"integrity":"sha512-e1jbtBXipa6W28Orie+blaUhq61YXr8ghT1ZUw2olEK7BC0boeUm3rJIhMQFT/jQLCDAScaPJ3ZYVzEPCikLyg==","signatures":[{"sig":"MEUCIQCJBx/DD2phb/5ILPrkTkc1kMxRBYJvfFViHG0fLj2vmwIgQwa9RwT5bCx9VaKOmCY4Z2pSUVMDlhBUDtIXUyG0I9A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":133608},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"c0f4c6516ab01365e785894f84aebc2679452a00","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.9.0","description":"A lightweight library for generating customizable captchas with Persian numbers and alphabets.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"sharp":"^0.33.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.0.5_1734172276774_0.6506826259497718","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"persian-captcha-generator","version":"1.0.6","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.0.6","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"0528022f0e1e0dcebe8bf916c58dbae368a1091b","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.0.6.tgz","fileCount":8,"integrity":"sha512-lrSkeda9qfEn9KteQt6LAgMEkAKewlWZNW4u6HSaP9/JC2H+LNy2PXb3SnEqQ4R5vbU3jJfHTT5muGdn/dlhoQ==","signatures":[{"sig":"MEQCIA9w6kCGdUmVQjF5xXNYBe2olv/z3sZJlJt5w+G03oROAiB0PXyjlBf4IC664EzHQtIo2nJExX3xUVIU5WSr00GRMw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":133618},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"c3cd622c0654d00f0e57bc0b1f965ea847c9e5ce","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.9.0","description":"A lightweight library for generating customizable captchas with Persian numbers and alphabets.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"sharp":"^0.33.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.0.6_1734172652652_0.1992386434272455","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"persian-captcha-generator","version":"1.0.7","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.0.7","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"d63708b954f3ff8348f60f54f8ea6fe7c9b589c7","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.0.7.tgz","fileCount":8,"integrity":"sha512-/2sX+xF7j0y0835rpyQtefdxG0XhacBduF+CrDTqWpPtQPTbJgObrPbg6eNt3LvgXemcvRGt4IFlEMm4RqePig==","signatures":[{"sig":"MEQCIExF4dcA6VMHzcXTHWDrlZiqhY2TTCQEIfLyZA+pMpL8AiApW1qi0fmVr1Bvm1YX09cfjIrXpx1XiH3hDTpr5NJtOg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":133618},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"c24153cf2b3706ac8a4e3fa32d159d49a651c95e","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight library for generating customizable captchas with Persian numbers and alphabets.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"sharp":"^0.33.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.0.7_1734290924251_0.4964119737852435","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"persian-captcha-generator","version":"1.1.0","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.1.0","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"4c2fb7544b7be0073b3062d214db49093aa62104","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.1.0.tgz","fileCount":8,"integrity":"sha512-GLEhLCFKKEv8+VHaLdJibkFJkOiVsx4YSeXhvRWXIW/u8lo9TpMfsq3Xi5D1jZilMpoSXs6m1NyK2wd/XSVK/Q==","signatures":[{"sig":"MEUCIQDLa2Q5P6K/u+7Ov/GfKww5r431oY+HB51lmlNfQRy0awIgBrKBDmUUmke7Jv2sCvjr7RhM3TzTrXdsinc0VFX4NE0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":133719},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"2128a7a4ace2b8d472b42a787a798f3d74ba6703","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight library for generating customizable captchas with Persian numbers and alphabets.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"sharp":"^0.33.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.1.0_1734341661250_0.9127411949911963","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"persian-captcha-generator","version":"1.1.1","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.1.1","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"0589519367160f978de12feb921d0f874691f5de","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.1.1.tgz","fileCount":8,"integrity":"sha512-btwRgV3WAuSiNNftqc4ZM/xg7j2/oK5BCB8pxr7YrK2K1DMBXUd2Yh8ng6bIh8zelGiu2+ko0p0Or6g45dmdcQ==","signatures":[{"sig":"MEUCIApniBDmQqLo0cdTkvTeGfsgf3scS8R+Nlsmh2BzRoOrAiEArxQTunzM958405gVBEbZCJXOYgfROboICXuoU4w45Z0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":134368},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"4ddffc6d332f48495471aa7ac2184b1db074257b","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight library for generating customizable captchas with Persian numbers and alphabets.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"sharp":"^0.33.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.1.1_1734347867520_0.9984168292440896","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"persian-captcha-generator","version":"1.1.2","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.1.2","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"219296e04758736a074eee9d7238203875f74e52","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.1.2.tgz","fileCount":7,"integrity":"sha512-KiyFyStcGQbMCdmkqcbw2g+2zogdTw4SnCwPf61sigfS4IZFJo2OIcVJjUnMmL2/u0ksR9Pag3adH2dEJlQ/bg==","signatures":[{"sig":"MEUCIQCzjDM5jrdmNJ8lZhXYv3ELbDPR/gpQ67Shapcbjyl/SQIgNk1XvxRpqsACZ08LkzLcBRclwHKZ2StRl5pAMui05Qo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11970},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"4b39352eea3f77088346386c54bcf71aa51a81b6","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight library for generating customizable captchas with Persian numbers and alphabets.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"sharp":"^0.33.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.1.2_1734358625478_0.21108967672372225","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"persian-captcha-generator","version":"1.1.3","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.1.3","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"28cba825e1e70b14355c490c44476004a91a1dc6","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.1.3.tgz","fileCount":7,"integrity":"sha512-J/XIWBZ6Wxfsd6p1VEauDphqDcQl7gb3GLhNJOCZUXt0/OsOwcTQ9bFvDeJCHG64/2S9mH3YCGiirtS+XTPDQg==","signatures":[{"sig":"MEQCIBNABmFdVHbjkr9+9JhhDK1KAlWKwQza4r36NF1i1BgEAiAqNSF+8sW/a+IzCdRBiNoYQ/5i2tjq1jOExQQ3LI4+Uw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11970},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"d8774b826747c816d506c85a758fb2915c4205eb","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight library for generating customizable captchas with Persian numbers and alphabets.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"sharp":"^0.33.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.1.3_1734359040868_0.5439684877195341","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"persian-captcha-generator","version":"1.1.4","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.1.4","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"2b92ed4fff5faf6c53317ace9cfc203921c2327a","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.1.4.tgz","fileCount":4,"integrity":"sha512-XZAUINyeGcmukAoMRDwL2Ipcj/jXRKWFBJZlLat3sYG57EZLtdKj8X4kaWQhLuZcLQX/YE97cvwu0/8AJ//MWw==","signatures":[{"sig":"MEUCIH0vKgge0hyFzkzgbcX4fND/KnczSVnTuZLnaT5npVUZAiEAr0m0SLkFjHG1BDnSCA63agt/maIXrDSHh2VTAa9B2Tw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9389},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"c4ccff0f5b0ac3411a2d7babd2ed38ed2a2dc9cc","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight library for generating customizable captchas with Persian numbers and alphabets.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"sharp":"^0.33.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.1.4_1734360283196_0.47952884969381193","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"persian-captcha-generator","version":"1.1.5","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.1.5","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"5532c63eba8d7bd7cbf6fd55073f109c07dcd3b4","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.1.5.tgz","fileCount":7,"integrity":"sha512-vIJbw3aqwlED9l+uahB2nOYcYN6PfQ925DhH0LLo7phejfvQwdUReBZKQPcfmlLytF83SB+/cZ3GPnmxPWhtdA==","signatures":[{"sig":"MEQCIFURrCzaPFiFE4YyWReL5Iz/D5yDGCTgiDl0eIkU9D61AiBWUkg6OQuWpaohG8g365dmVMZCa4lXfCGpEi2y2UCqgw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11411},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"8da979bc985c3df6ffe5ab3c42016161c065ffe3","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight library for generating customizable captchas with Persian numbers and alphabets.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"sharp":"^0.33.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.1.5_1734360453980_0.4982857024830416","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"persian-captcha-generator","version":"1.1.6","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.1.6","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"63ecf326270883fe5100d31574f3620ddf4f0592","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.1.6.tgz","fileCount":8,"integrity":"sha512-V9IYjEBvjWEqzrtTeUHA2ZiWNY/+jUfcZwJSg8wshtDlfOKYr+W7MMIVmJrVH1TuMBrC8wogR0VBaDVXzYTeLw==","signatures":[{"sig":"MEYCIQCQiPxr5cEF8mHAW4E04I+X1/Y1du9b9YqgxkTgihy2lgIhAJhp7ln2gHAioHRgKVZSupi19cIlKzL+QcakRcJu6hWq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":134605},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"826f6f6da820eaf3350a0798f383eda56c6d6ac8","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight library for generating customizable captchas with Persian numbers and alphabets.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"sharp":"^0.33.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.1.6_1734445178125_0.8987574605327737","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"persian-captcha-generator","version":"1.1.7","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.1.7","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"64e154f55be73161a27aa26d17da36a54f8a06fb","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.1.7.tgz","fileCount":8,"integrity":"sha512-LkdyyhX8sIuUb5RTFts7hAjFjErF24GIsap3M4ykhMl6fmy4Vee8igEPPl6+lSKFlA2HMRemP/z34NHDEwQyMQ==","signatures":[{"sig":"MEUCIBLtYLMQI72OvDM6u06mZ/31MRIISdMRoODY/ex17z2nAiEAzKoZXgKCTZMORtNEgVANS1VnARt+5aEEhHbS+wkXWig=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":134605},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"e675efe74b534264ac7cbed705b63c823b783fb8","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight library for generating customizable captchas with Persian numbers and alphabets.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"sharp":"^0.33.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.1.7_1734445579461_0.22295897711154766","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"persian-captcha-generator","version":"1.1.8","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.1.8","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"f503524119ba7e8543bec3750f9ade0b158f591e","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.1.8.tgz","fileCount":8,"integrity":"sha512-6ZZ2ByoZRi27vFlybceehFvnez2Jp0KTH/rbA/Mvam3Baa+2pm7QE07r/5KeBXjbFHa+JXkCiwcQHbTxZ5k6uA==","signatures":[{"sig":"MEQCIG+xn2kzNQUQl/SO1osD2vqCgqoXql8VQUMYqcPxhBK9AiBIbufLsIjAhYYgFAT21+Jjl+sFRnN+De+M7dqyNVLfSQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":134775},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"2d36d3c9cd31617d399693316b5bc16788df64d1","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight library for generating customizable captchas with Persian numbers and alphabets.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"sharp":"^0.33.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.1.8_1734445894142_0.03182289990991305","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"persian-captcha-generator","version":"1.1.9","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.1.9","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"faf6f0ff00ab6ecacdf949753951141cc401a26c","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.1.9.tgz","fileCount":8,"integrity":"sha512-9F1uRbPotFqt/PoBWm09jcoxx8Hr81jTNKpEJXoA5MKd3uZQPz4DtKvrYG/efjQpXrgk132hYDpxFl3KVn/PRA==","signatures":[{"sig":"MEYCIQCFZaEWYn8r715fYos+K4aHFtX/HkrovZqYQrjDAPBqHAIhAPWmRnayMUYBLddRFDEI5yjvvUoA3I0trtW59BC3Q8x7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":135213},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"5e8dde8e0beab110ba9da54b9390ebccdf2df35e","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight library for generating customizable captchas with Persian numbers and alphabets.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"sharp":"^0.33.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.1.9_1734446840820_0.1153456567256741","host":"s3://npm-registry-packages-npm-production"}},"1.1.10":{"name":"persian-captcha-generator","version":"1.1.10","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.1.10","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"1836acd2334bcf0ac8c87338e20e37838aaaef7f","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.1.10.tgz","fileCount":8,"integrity":"sha512-kBeqZD31O16tXo5vm/xcSfH9fNORB9Q4XNq5a0Nt/FyroZBc7kkeQVmJwfGUGv6Q0QkZlkx+boS4UlAb8FCwOw==","signatures":[{"sig":"MEQCIFmeLXfA3qnC+kn4YINe/AB23Al58mv564l5RIXUjDftAiBr3H4DiHqBatvpqtIbN1Zaz/fZNjAipjezy0xTfMvvWA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":136660},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"e373e2613af2b8a9854d7afeea6d36d38e10bb38","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight library for generating customizable captchas with Persian numbers and alphabets.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"axios":"^1.7.9","sharp":"^0.33.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.1.10_1734448793844_0.9931683085395657","host":"s3://npm-registry-packages-npm-production"}},"1.1.11":{"name":"persian-captcha-generator","version":"1.1.11","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.1.11","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"08abb47bb1e921398fb9e4f4cf6da68805445180","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.1.11.tgz","fileCount":8,"integrity":"sha512-Lftnziak90aqiQ8dC3ETDC1H6fVD0HBJShap5TSG2j1vRKcHvFIPDPkRoujom/ll7ldrnAblfrgj0wUDq94QXg==","signatures":[{"sig":"MEUCIQDgXDyDZVniZiCSDObJ4+FScektswHt4OLy9MGZ+ztntwIgYWsCqahGj8TXi/DqN+ZczC07octJqRHdI/mpM+Y5n60=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":133742},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"d18974f93735bc206edc79e92493636123b71d83","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A library for generating customizable captchas with Persian numbers and alphabets using node-canvas.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"canvas":"^2.11.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.1.11_1734450056163_0.5178854885261317","host":"s3://npm-registry-packages-npm-production"}},"1.1.12":{"name":"persian-captcha-generator","version":"1.1.12","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.1.12","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"3003dd616d53a02def851c313f2ae253ac177637","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.1.12.tgz","fileCount":8,"integrity":"sha512-v2n3PGReaDREsD1FKWAPj38tV+j5RFMhvfk8u3IAez1JT9r6QpcZIb1TMGjRnbME3ketQGScXD8tl6udZ6h0dQ==","signatures":[{"sig":"MEYCIQCkd4CfZXVXZ5P7l59D9U+faK9c5ybobUS4mPAUhxPNjAIhAPPniQxTK8rTuG4bNwP2X/m0ats7d66I5Z89t5oXPjU5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":133742},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"967d25159277b53bfc2495e29132d6bfb5117da8","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A library for generating customizable captchas with Persian numbers and alphabets using node-canvas.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"canvas":"^2.11.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.1.12_1734450913272_0.6635098874572392","host":"s3://npm-registry-packages-npm-production"}},"1.1.13":{"name":"persian-captcha-generator","version":"1.1.13","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.1.13","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"52ad1a868f1e22af3a29d771a91992f908962dab","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.1.13.tgz","fileCount":8,"integrity":"sha512-0rRav0UEKfniCkd3hA+g0zJTyhl6Q1NTzWTKKZab5HgzoWYaVNsaOhpGM6RdwOoe+BGAyEx2JiIS86JJmOeC4g==","signatures":[{"sig":"MEUCIQCgI40hczlciQ1OF7d1bXVVT/4z1rjXXBdb/PglugyHvAIgYS8lDGfiWiM8HyiYsqv3No5aFeo/+uM7ZN2Rd+1CJxY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":133738},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"440ee2732dc7f73fa6f6be1a1849f9ea2d8a1fd8","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A library for generating customizable captchas with Persian numbers and alphabets using node-canvas.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"canvas":"^2.11.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.1.13_1734451133822_0.5764461520268787","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"persian-captcha-generator","version":"1.2.0","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.2.0","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"96b5c53ad3a476c443d99d6f06dd54014f040796","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.2.0.tgz","fileCount":8,"integrity":"sha512-WaeF57Cyp7bDdagXDNuKyk9S7q/1tmrqSiZNOWMdCT9c+644kd75UB5vUA6xO3GI9rdo9/EwNEqDshdcISJa3A==","signatures":[{"sig":"MEQCIA0GhXvy7Zz4LK2J80ifKDbYwVKJK6lolzSH/BhtKxDnAiBw2yqC/ssIlO+c56E1MaPvTyVTKDc2XQqz/+kHlVG/bA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":133358},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"d49a64ca412c90a929e5f114734e3d1de3488c69","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A library for generating customizable captchas with Persian numbers and alphabets using node-canvas.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"canvas":"^2.11.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.2.0_1734451349361_0.018665635450290763","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"persian-captcha-generator","version":"1.2.1","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.2.1","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"052633020e4f931efc97ee221e95c16dd3c8e42a","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.2.1.tgz","fileCount":8,"integrity":"sha512-pi7uJMtB5vC2T1YZKhphI2HlUO3QMf317/fmWit1emWw8TJ1V0Ram+Db7xz2v7WY3RahAtu3Ut1mPuZXg5r4ig==","signatures":[{"sig":"MEQCIAkpIAeI1QNcVVtrvHfT/U0BIqDdt11yKcSkaJO2EnZ6AiAJqKEcIPrgJzuvYnFg06l+WNodZZfewE0CPfiDohtDrA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":133795},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"cf291ad4a25dc620d3653e52dddb5c52821c657d","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A library for generating customizable captchas with Persian numbers and alphabets using node-canvas.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"canvas":"^2.11.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.2.1_1734690095305_0.9938503446485452","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"persian-captcha-generator","version":"1.2.2","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.2.2","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"d873353d5792f3c1381714fe30dd28e852b4f618","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.2.2.tgz","fileCount":8,"integrity":"sha512-Rd6zXB5ZFVsUVXDA8L0lKh6iPQSGVWJyM0tTvnchMVd9qGcnCIzQNPnS+MiEVYdPf4huvKK0j3rp62wmIGoQrg==","signatures":[{"sig":"MEYCIQDMv2CrOW7NVsOn+4jy+42HuvF6HHRXx+TdYsiSejBd4wIhAOam73bGvoISFYsRCNyeorsdLHFmOYvibmCyYBnl4Wc2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":134285},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"def0f9cdb1732fd2118069700b90f652902f475c","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A library for generating customizable captchas with Persian numbers and alphabets using node-canvas.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"canvas":"^2.11.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.2.2_1734691101140_0.6985229541678146","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"persian-captcha-generator","version":"1.2.3","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.2.3","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"a128f170f46f76d4a32ae25b5450799243edffc2","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.2.3.tgz","fileCount":8,"integrity":"sha512-aRs/8pye6tAD1ss2lkkMxpI8uHcGXMM8pmOEOUlaynpUIZvID2Q/gTcJuD50UjyhEV64SSn8ZINngrI8mO2x5g==","signatures":[{"sig":"MEQCIF/GnjUeJ4nEZJCx3/50Nxy8QWaB3Gpo4lEj2TmdzBx6AiArN6UDcHTStlwV2icwzhXwdSmZGGf0E7z4vIXSAx7hAw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":133678},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"227ef5383f503991370c96a981948fe52e539b64","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A library for generating customizable captchas with Persian numbers and alphabets using node-canvas.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"canvas":"^2.11.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.2.3_1734691357174_0.30130200013593567","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"persian-captcha-generator","version":"1.2.4","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.2.4","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"0202d43602179298d3088eef6a044aefcbc2c7bf","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.2.4.tgz","fileCount":9,"integrity":"sha512-1Qs0P1WR0pZAI7qNgSMM2aUHaLh7q9iRj7BXpAZfehfn3wnDhnRfEwsLwL9InfGYBGUSnz0Ybd/Q4OvE0LWcGw==","signatures":[{"sig":"MEUCIAUlM3F/pTdXamH7GzOj1LXz7X40hgAfRsrmwew6jjAAAiEAs3HvBDirNtpcMCs4jtoIAnWMhLXSkugvPaLOOjW676M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":256287},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"d6cab388dc77c0f50463489a7c3e8b24236523cf","scripts":{"test":"jest","build":"tsc && copyfiles -u 1 fonts/**/* dist/fonts","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A library for generating customizable captchas with Persian numbers and alphabets using node-canvas.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"canvas":"^2.11.2","copyfiles":"^2.4.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.2.4_1734695483075_0.5962949543121545","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"persian-captcha-generator","version":"1.2.5","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.2.5","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"e233ab422063eefbe26813b2fc9f0f0df7b150fe","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.2.5.tgz","fileCount":7,"integrity":"sha512-d4V3wsKguNsYGCu/GK3mtQH1EVarpug910qlLMdOHX2NHF12I24sPJE6II4T+Rx9xX9U72HtrrqVv0KCrrboqQ==","signatures":[{"sig":"MEQCIAzVGSCSmt4uMlrKV7ZM16rSFaLCGjeFn6sldt40Dnt3AiBaJp5mmDpSBP/e0bG+EEPnZxPdr6doUuYj/MOl94IGVQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10457},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"005cb3c6d972e00fb1c6663e617f685428a0681a","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A library for generating customizable captchas with Persian numbers and alphabets using node-canvas.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"canvas":"^2.11.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.2.5_1734695907268_0.456242825863141","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"persian-captcha-generator","version":"1.2.6","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.2.6","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"a406acfab9f844a9fcc5650bad37a63403816886","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.2.6.tgz","fileCount":8,"integrity":"sha512-gywsHVj87KQzLyT/Ok8wIUrDL9F+tg89zf9Tsypn2He7OsM02EZVzGT1MmL3sOQ1zD/aDF2k1OoOH/Q2DsaorA==","signatures":[{"sig":"MEUCIBN6X5XgpGa4LD6eWxzfBEurPgPo2wOuq8aY9L+JUcNiAiEA3D2mCEduTGGnTcrITMusHtQozcApI2fEhnVvrUuNIiQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1083886},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"1e1c0ff9aa8228340618e4d142fd819c5d6e8166","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A library for generating customizable captchas with Persian numbers and alphabets using node-canvas.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"canvas":"^2.11.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.2.6_1734696425947_0.8189562143198768","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"persian-captcha-generator","version":"1.3.0","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.3.0","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"872c42149be6a20c669b6c5b37ed2473117787c0","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.3.0.tgz","fileCount":8,"integrity":"sha512-6pHq0sxRso2jUc8tDUksTdJ8xBxM+M8cfXuURYapl0s8PRLZNmLUGi/VRbaCcQrGXRox3e0QvMLzd+H/Ye+oXw==","signatures":[{"sig":"MEQCIAWAjbXC1zVUwF5/pGxZp0oA68s3mQ56Vtb2hsWp1gBgAiAP3VSNXsaJDAicWZ4Fi5fs0Xs64hQWMm4hjpAEPsZq+A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1084916},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"4c9a4a63722c0f922776d562be7407af0bd85448","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A library for generating customizable captchas with Persian numbers and alphabets using node-canvas.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"canvas":"^2.11.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.3.0_1734701398701_0.7043647473180621","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"persian-captcha-generator","version":"1.3.1","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.3.1","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"06e80b76aedb11ff835292b1b13d4bdcb1bfa2fa","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.3.1.tgz","fileCount":8,"integrity":"sha512-or+KfAQRKDVvVHqDLs67jPle6SOEqE/P+rCPNCUBQmi+INjiL15mzhbDpZxnIZ/h9hvE6bgSCWcnB2ao3VGWKQ==","signatures":[{"sig":"MEUCIAVinDf5r9PEcI9FV/Cc1S10KCf3JV2Amv7EVRDT0LCIAiEA3oHUX6HSSVj6jbLQL+DXNcWOnLpnZgBlYPsUM8K2usI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1084958},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"d198bddcb08049c9905d7494e9101aa895356b54","scripts":{"test":"jest","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A library for generating customizable captchas with Persian numbers and alphabets using node-canvas.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@napi-rs/canvas":"^0.1.65"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/sharp":"^0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.3.1_1734736490507_0.8471780303637018","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"persian-captcha-generator","version":"1.3.2","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.3.2","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"2eb37ab7453580427f5f862a91d0c0485a135eed","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.3.2.tgz","fileCount":8,"integrity":"sha512-V7lyhlQBqv6T4yjdDqLPf6BLkhSQRAyQVT63eFzf89V9tU/FnSL5HRakEoXqXr0+gucEqf3rsEcQMhr52mJI6g==","signatures":[{"sig":"MEUCIG5A2UckVCLpJoD+Ts/ofaZs5Ai+mQdSIy91Mj6asF8TAiEAr6HpRbNnls3po+sGCQEKm/dV1dIEQrtOXMG0KTXX7DQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1084892},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"812aabfb120c4c37cd98402e0e9b95e87a14d473","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A library for generating customizable captchas with Persian numbers and alphabets using node-canvas.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@napi-rs/canvas":"^0.1.65"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.3.2_1734737301236_0.37284571290145085","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"persian-captcha-generator","version":"1.3.3","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.3.3","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"68fd17c882984cbd3bd5583583b58a4ad2ba85c1","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.3.3.tgz","fileCount":8,"integrity":"sha512-DUBLqkC+nk8dXapZ3ZyhFC+zQR6CN8z6RoYXyJalMksqm7mzhirvmP1NLK8U3uDWQ+TsLAGnqNiDpaHuTHOu8w==","signatures":[{"sig":"MEUCIQDWXeJND4qSVDGnu9Kuc09H/f3a3jY5cehhUE66HLixeQIgLdkNTebPeewj1/9LbWx6o0BfPaM/ToF8dCcGWl2W4QU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1084877},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"b51a4226fa3b9d203d7e9a5b7a7933796d1ce3c9","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A library for generating customizable captchas with Persian numbers and alphabets using node-canvas.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@napi-rs/canvas":"^0.1.65"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.3.3_1734737664257_0.6880903053550871","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"persian-captcha-generator","version":"1.3.4","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.3.4","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"ee9632fd85744d7fe4b719f8219200628a9b1846","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.3.4.tgz","fileCount":8,"integrity":"sha512-I8S/0fLOLKJ62LSnt8rKnZBL4ULmez+iysIRp8vk9N/6ZzdTiynNVdGLkemadqkn64KQOyyX3hsNdeu0UShwuA==","signatures":[{"sig":"MEUCIGZhmZ423hPzUtay3vcU7PhjTYZ1tqxFQmBVl4NTdEjUAiEA3cGQIyvYTfzxl+zJc+AFoefO4oNdra/QJeDxWqZodqw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73343},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"6286c7281e5ae1e5c8da5dcb115e85f60016b5ac","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A library for generating customizable captchas with Persian numbers and alphabets using node-canvas.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@napi-rs/canvas":"^0.1.65"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.3.4_1734785411150_0.22815400592833113","host":"s3://npm-registry-packages-npm-production"}},"1.3.5":{"name":"persian-captcha-generator","version":"1.3.5","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.3.5","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"5f62b709981c1e2827307358339c7b32fc7439ad","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.3.5.tgz","fileCount":8,"integrity":"sha512-2f49cTb79JsZjPMSQ7prZvvV3f7aquZMnenraZ893lUAr9W2SU/PmXI1j86iq/jdaczFWI6XSTo0LogEhpDNDg==","signatures":[{"sig":"MEUCIQDFa6vMEHAdwnJo5uypkdPuxMu5NShzPyHNG/ThNmlTfAIgGXdoM1bH3lkDGyStWBOHCjLw05R8WBkdJz0hGKqI93E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73364},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"6b92afa862648f8a7004170db4fdde892110f05d","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A library for generating customizable captchas with Persian numbers and alphabets using node-canvas.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@napi-rs/canvas":"^0.1.65"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.3.5_1734790086773_0.7484222954494024","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"persian-captcha-generator","version":"1.4.0","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"author":{"name":"Ali Piry"},"license":"MIT","_id":"persian-captcha-generator@1.4.0","maintainers":[{"name":"alipiry","email":"alipiry@disroot.org"}],"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"656e533356c1fbdd5a5db5114133600028bf8419","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-1.4.0.tgz","fileCount":8,"integrity":"sha512-kH7m39xGxe563RARrUwZWVw1X939RORjabtFBHilXr9lulTSNOQKIZ8ZxAwK2SPsmwdSSHAdSkqyoRY5e7scvg==","signatures":[{"sig":"MEUCIQDp8AiMytreP5zZ7fNv+4w2Uu23/96W4VDcAdiqX3nvaQIgP2jfFHuT40YFbD0f/EXIpCTECWFlQbdSBPs1nAjYIa4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73458},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"aab4c73045c8b49bbd71e93185f22380dd8a4437","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"alipiry","email":"alipiry@disroot.org"},"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"10.8.2","description":"A library for generating customizable captchas with Persian numbers and alphabets using node-canvas.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@napi-rs/canvas":"^0.1.65"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/persian-captcha-generator_1.4.0_1734795566480_0.9788857030156015","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"_id":"persian-captcha-generator@2.0.0","bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"dist":{"shasum":"3e7aed5ad292588aec785db9cd808a99f0d21d65","tarball":"https://registry.npmjs.org/persian-captcha-generator/-/persian-captcha-generator-2.0.0.tgz","fileCount":11,"integrity":"sha512-8gLPiZxOWBMUNbQ9zIqC6PGvGrqZTDSQRRdadVMVxRQcx7Pt+H1kRFIe1TvdN8vbvXj0mqkDHjoqDmU3aMAGXA==","signatures":[{"sig":"MEUCIGoY/0Xx13A/QBcIT25chFE+uhKv9hGKxIyYTFFx+KC7AiEAsVg66xZEZYAQ073an5rYR0by1+mnHEZPeLSw0o1H3BQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDXCmTG14UaVMdHVPoramByeyE00XiX+V7DjJvEvVLFggIhAMFZZg5E4nLMTcx6+/i+nTzsHLjlf9oUUTqd2jv/R0FO"}],"unpackedSize":33483},"main":"dist/index.js","name":"persian-captcha-generator","types":"dist/index.d.ts","author":{"name":"Ali Piry"},"engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"0f867d98fb08670868f291c366dab158006f6fd2","license":"MIT","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"pnpm build"},"version":"2.0.0","_npmUser":{"name":"alipiry","email":"alipirydev@gmail.com"},"homepage":"https://github.com/alipiry/persian-captcha-generator#readme","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"_npmVersion":"12.0.2","description":"A library for generating customizable captchas with Persian numbers and alphabets using @napi-rs/canvas.","directories":{},"lint-staged":{"*.{ts,js,mjs}":["eslint --fix","prettier --write"],"*.{json,md,yml,yaml}":"prettier --write"},"maintainers":[{"name":"alipiry","email":"alipirydev@gmail.com"}],"_nodeVersion":"24.18.0","dependencies":{"@napi-rs/canvas":"^1.0.9"},"_hasShrinkwrap":false,"packageManager":"pnpm@12.5.1","devDependencies":{"husky":"^9.1.7","eslint":"^10.11.0","vitest":"^5.0.2","globals":"^17.12.0","prettier":"^3.9.9","@eslint/js":"^10.0.1","typescript":"~6.0.3","@types/node":"^22.19.0","lint-staged":"^17.6.0","typescript-eslint":"^8.70.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/persian-captcha-generator_2.0.0_1790611263618_0.8376815586421953"}}},"time":{"created":"2024-12-13T15:39:33.239Z","modified":"2026-09-28T16:01:03.903Z","1.0.0":"2024-12-13T15:39:33.425Z","1.0.1":"2024-12-13T15:45:09.644Z","1.0.2":"2024-12-14T07:15:07.357Z","1.0.3":"2024-12-14T10:18:47.035Z","1.0.4":"2024-12-14T10:23:05.315Z","1.0.5":"2024-12-14T10:31:16.985Z","1.0.6":"2024-12-14T10:37:32.840Z","1.0.7":"2024-12-15T19:28:44.455Z","1.1.0":"2024-12-16T09:34:21.410Z","1.1.1":"2024-12-16T11:17:47.677Z","1.1.2":"2024-12-16T14:17:05.656Z","1.1.3":"2024-12-16T14:24:01.035Z","1.1.4":"2024-12-16T14:44:43.362Z","1.1.5":"2024-12-16T14:47:34.154Z","1.1.6":"2024-12-17T14:19:38.275Z","1.1.7":"2024-12-17T14:26:19.718Z","1.1.8":"2024-12-17T14:31:34.302Z","1.1.9":"2024-12-17T14:47:21.051Z","1.1.10":"2024-12-17T15:19:54.009Z","1.1.11":"2024-12-17T15:40:56.478Z","1.1.12":"2024-12-17T15:55:13.567Z","1.1.13":"2024-12-17T15:58:54.047Z","1.2.0":"2024-12-17T16:02:29.580Z","1.2.1":"2024-12-20T10:21:35.473Z","1.2.2":"2024-12-20T10:38:21.348Z","1.2.3":"2024-12-20T10:42:37.444Z","1.2.4":"2024-12-20T11:51:23.298Z","1.2.5":"2024-12-20T11:58:27.436Z","1.2.6":"2024-12-20T12:07:06.286Z","1.3.0":"2024-12-20T13:29:58.917Z","1.3.1":"2024-12-20T23:14:50.736Z","1.3.2":"2024-12-20T23:28:21.451Z","1.3.3":"2024-12-20T23:34:24.527Z","1.3.4":"2024-12-21T12:50:11.344Z","1.3.5":"2024-12-21T14:08:07.038Z","1.4.0":"2024-12-21T15:39:26.728Z","3.0.0":"2026-09-28T15:54:11.944Z","2.0.0":"2026-09-28T16:01:03.714Z"},"bugs":{"url":"https://github.com/alipiry/persian-captcha-generator/issues"},"author":{"name":"Ali Piry"},"license":"MIT","homepage":"https://github.com/alipiry/persian-captcha-generator#readme","keywords":["captcha","persian","numbers","alphabets","typescript","security","persian-captcha"],"repository":{"url":"git+https://github.com/alipiry/persian-captcha-generator.git","type":"git"},"description":"A library for generating customizable captchas with Persian numbers and alphabets using @napi-rs/canvas.","maintainers":[{"name":"alipiry","email":"alipirydev@gmail.com"}],"readme":"# Persian Captcha Generator\n\nA library for generating customizable captchas with Persian numbers and alphabets. It renders a PNG with rotated, jittered characters and random lines and dots drawn both under and over the text, and returns the answer for server-side verification.\n\n<div align=\"center\">\n  <h2>Made with ❤ by <a href=\"https://github.com/alipiry\">Ali Piry</a></h2>\n</div>\n\n## Features\n\n- Generate captchas with:\n  - Only Persian numbers\n  - Only Persian alphabets\n  - A mix of Persian numbers and alphabets\n- Answers read right-to-left for letters, as Persian readers expect; digit-only captchas read left-to-right\n- Answers generated with a cryptographically secure RNG\n- Customizable:\n  - Image size (width and height)\n  - Font size\n  - Text and background colors\n  - Number of noise lines and dots\n- `verifyCaptcha` helper: constant-time comparison that accepts Arabic keyboard and ASCII-digit input\n- Every option validated with explicit bounds, so request-derived values can't exhaust your server\n\nRequires Node.js 22 or later. Rendering uses the native [`@napi-rs/canvas`](https://github.com/Brooooooklyn/canvas) addon, so it runs in Node.js only (not browsers or edge runtimes).\n\n## Installation\n\n```bash\npnpm add persian-captcha-generator\n# or\nnpm install persian-captcha-generator\n# or\nyarn add persian-captcha-generator\n```\n\n## Usage\n\nStore `captcha.text` server-side (e.g. in the session), send only the image, never log the answer, and verify it exactly once.\n\n### Node.js\n\n```typescript\nimport fs from \"node:fs\";\nimport { persianCaptchaGenerator } from \"persian-captcha-generator\";\n\nconst captcha = persianCaptchaGenerator({\n  length: 6,\n  characterSet: \"numbers\",\n  width: 300,\n  height: 100,\n  fontSize: 40,\n  lineCount: 10,\n  dotCount: 100,\n  textColor: \"#000000\",\n  backgroundColor: \"#f8f9fa\",\n});\n\nfs.writeFileSync(\"captcha.png\", captcha.imageBuffer);\n```\n\n### Express\n\n```typescript\nimport express from \"express\";\nimport session from \"express-session\";\nimport {\n  persianCaptchaGenerator,\n  verifyCaptcha,\n} from \"persian-captcha-generator\";\n\ndeclare module \"express-session\" {\n  interface SessionData {\n    captcha?: string;\n  }\n}\n\nconst app = express();\napp.use(express.urlencoded({ extended: false }));\napp.use(\n  session({\n    secret: process.env.SESSION_SECRET!,\n    resave: false,\n    saveUninitialized: false,\n  }),\n);\n\napp.get(\"/captcha\", (req, res) => {\n  const captcha = persianCaptchaGenerator({\n    width: 300,\n    height: 100,\n    length: 6,\n    fontSize: 44,\n    characterSet: \"both\",\n  });\n\n  req.session.captcha = captcha.text;\n  res.set({ \"Content-Type\": \"image/png\", \"Cache-Control\": \"no-store\" });\n  res.send(captcha.imageBuffer);\n});\n\napp.post(\"/login\", (req, res) => {\n  const expected = req.session.captcha;\n  // Single use: a wrong guess must not allow retrying the same captcha.\n  delete req.session.captcha;\n\n  if (!expected || !verifyCaptcha(expected, req.body.captcha)) {\n    res.status(400).send(\"Invalid captcha\");\n    return;\n  }\n  // ...continue with login\n});\n\napp.listen(3000);\n```\n\n### Next.js\n\nRoute handler:\n\n```typescript\nimport { cookies } from \"next/headers\";\nimport { persianCaptchaGenerator } from \"persian-captcha-generator\";\n\n// The canvas addon is native: pin the Node.js runtime and never cache.\nexport const runtime = \"nodejs\";\nexport const dynamic = \"force-dynamic\";\n\nexport async function GET() {\n  const captcha = persianCaptchaGenerator({\n    length: 6,\n    characterSet: \"numbers\",\n    width: 300,\n    height: 100,\n    fontSize: 40,\n  });\n\n  // Store the answer server-side; `saveCaptchaAnswer` stands in for your\n  // session store (keyed by an httpOnly session cookie).\n  await saveCaptchaAnswer((await cookies()).get(\"sid\")?.value, captcha.text);\n\n  return new Response(new Uint8Array(captcha.imageBuffer), {\n    headers: {\n      \"Content-Type\": \"image/png\",\n      \"Cache-Control\": \"no-store\",\n    },\n  });\n}\n```\n\nVerify on submit with `verifyCaptcha(storedAnswer, submittedValue)` and delete the stored answer whether or not it matched.\n\n<a href=\"https://github.com/alipiry/next15-persian-captcha\">See full example here</a>\n\n## API\n\n### `persianCaptchaGenerator(options?)`\n\nSynchronous. All options are optional.\n\n| Parameter         | Type                                 | Default     | Allowed      | Description                                                               |\n| ----------------- | ------------------------------------ | ----------- | ------------ | ------------------------------------------------------------------------- |\n| `width`           | `number`                             | `200`       | 50–1000      | Width of the image in pixels.                                             |\n| `height`          | `number`                             | `100`       | 30–500       | Height of the image in pixels.                                            |\n| `length`          | `number`                             | `5`         | 4–10         | Number of characters in the answer.                                       |\n| `fontSize`        | `number`                             | `40`        | 10–200       | Font size in pixels.                                                      |\n| `lineCount`       | `number`                             | `8`         | 0–50         | Number of random noise lines (half under, half over the text).            |\n| `dotCount`        | `number`                             | `50`        | 0–500        | Number of random noise dots (half under, half over the text).             |\n| `backgroundColor` | `string`                             | `\"#ffffff\"` | CSS color    | Background color.                                                         |\n| `textColor`       | `string`                             | `\"#000000\"` | CSS color    | Text color.                                                               |\n| `characterSet`    | `\"numbers\" \\| \"alphabets\" \\| \"both\"` | `\"numbers\"` | one of these | Persian digits, Persian letters, or both (never two digits side by side). |\n\nAll numbers must be integers. An out-of-range value throws a `RangeError` and a wrong type throws a `TypeError`. A `RangeError` is also thrown when `length` characters at `fontSize` can't fit in `width` × `height`. Color strings aren't validated: an invalid CSS color is ignored by the canvas.\n\nReturns a `PersianCaptcha`:\n\n| Property      | Type     | Description                                                          |\n| ------------- | -------- | -------------------------------------------------------------------- |\n| `text`        | `string` | The answer, in the order a human reads and types it. Keep it secret. |\n| `imageBuffer` | `Buffer` | The PNG image.                                                       |\n\nThe `PersianCaptchaGeneratorOptions` and `PersianCaptcha` types are exported.\n\n### `verifyCaptcha(expected, input)`\n\nReturns `true` when `input` matches `expected`. The comparison runs in constant time. Before comparing, it:\n\n- ignores whitespace and zero-width (non-)joiners;\n- treats Arabic `ي` `ى` `ك` as Persian `ی` `ک`;\n- treats ASCII and Arabic-Indic digits as Persian digits.\n\nIt returns `false` for empty or non-string input.\n\n## Migrating from 1.x\n\n- **Synchronous API.** `persianCaptchaGenerator` returns the result directly. Existing `await` call sites keep working; replace `.then()` chains.\n- **Validation.** Out-of-range, non-integer or wrongly typed options throw instead of rendering. `length` is now at least 4. Text that can't fit the canvas throws.\n- **Reading order.** For `alphabets` and `both`, `text` now matches the right-to-left order users read in the image. In 1.x, users typed these answers reversed.\n- **Font.** The bundled B Nazanin font was replaced with an OFL-licensed Vazirmatn subset. Glyphs are wider, so configurations near the width limit may now throw.\n- **Font lookup.** The fallback that searched `process.cwd()/node_modules` was removed. The font always loads from the installed package.\n- **Node.js 22+** is required.\n- **Verification.** Use `verifyCaptcha` instead of `===`. It is constant-time and accepts input from Arabic keyboards.\n\n## Sample images\n\n![numbers](https://raw.githubusercontent.com/alipiry/persian-captcha-generator/main/samples/numbers.png)\n![numbers, green](https://raw.githubusercontent.com/alipiry/persian-captcha-generator/main/samples/numbers-green.png)\n![numbers, yellow](https://raw.githubusercontent.com/alipiry/persian-captcha-generator/main/samples/numbers-yellow.png)\n![numbers, red](https://raw.githubusercontent.com/alipiry/persian-captcha-generator/main/samples/numbers-red.png)\n![alphabets](https://raw.githubusercontent.com/alipiry/persian-captcha-generator/main/samples/alphabets.png)\n![both](https://raw.githubusercontent.com/alipiry/persian-captcha-generator/main/samples/both.png)\n\n## License\n\n[MIT](LICENSE). The bundled Vazirmatn font subset is licensed under the [SIL Open Font License 1.1](fonts/OFL.txt).\n","readmeFilename":"README.md"}