{"_id":"max-validator","_rev":"7-b95444e5ab2443a23ed23f7ee8fa1818","name":"max-validator","dist-tags":{"latest":"1.2.1"},"versions":{"1.0.0":{"name":"max-validator","version":"1.0.0","description":"Advanced validation library for react","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/malkhazidartsmelidze/max-validator.git"},"keywords":["react","react-validation","validation","validate"],"author":{"name":"Malkhazi Dartsmelidze"},"license":"ISC","bugs":{"url":"https://github.com/malkhazidartsmelidze/max-validator/issues"},"homepage":"https://github.com/malkhazidartsmelidze/max-validator#readme","browserslist":{"production":[">0.2%","not dead","not op_mini all"]},"gitHead":"9f7e94004d20ed616224e3ce515ffc782b66e386","_id":"max-validator@1.0.0","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-rvKXM0psgYQPpQSJk1V0rbUhotJsAvD5tvv5KZq+bPfob+CijwTzbEEWbAvwVr8kt5LYmwQfy4dstiVZ+Cf7cg==","shasum":"f3fbf64076e2a887d37541b2d1a5448548af28ad","tarball":"https://registry.npmjs.org/max-validator/-/max-validator-1.0.0.tgz","fileCount":29,"unpackedSize":26906,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexDhkCRA9TVsSAnZWagAA58UP/ildOHjSptLQxRM8G8SJ\nxVULuPulPQ0l795DpHhKtBxNJwx09ldK+9TY4fNFGdGbsyThED+1Ks21bOKY\nqmNPfVM5Zi4HDZroW9tYXR7PhbdLKF+ed4pqxQpEz4e27+lKSS7mbRgQ5tIs\nKe1Qx3WUKqcf2o2F9ccvtxfzR21psGs5fbzcWIcYhUXMqetPXgsrTpszkXPM\nAK4d7Q1P0BQiPM7cklcvaQZLOcqGO/F+888tpV05+lE7mS2SZM9XKzlbJWLS\nQgE5sK5w2mL8Y844AT5JrLrSleDWIbi3CbHjxoyJpyTYlIBBsnFy0/Ten+oq\n8dMs+olJzLpO+nEiyyHYi89OxalfAv3axOvjTUpEHLxnBVRhjcbiZ4Cfo3Rb\nUyC1QL5q1Q2YtVVNre8Hn1IekfdIZCla8oHzGnP0w+Ldg3U3+B1Txn9pgp5l\nCjIoJKvZ1Sz/HMJ7Hr+apqAUS3+hP3d9cgOs9vrgLN4lUm1Y6p6uWuoi2LOm\nm1Gfi3f/UnK4Mw6rtDeKU+249fGtWqynMJ8gLQ2N9mGYexeWwtmP6uWxt1AG\nLFYmCeGwKzTtJBwhLkdX4BS0REwzXLqbmis82vh7Mbjf1O99wOlr3G3/8Fbx\nq25J+2UAMKQD+MJw7syLllUpIPhVvKpETfu2IV2XZ1378ympuAGzkcH0nKzy\nNMj0\r\n=QnDB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFQfX4x7NXXGNpEE4AQpcn1r8N5rzW1wZzyEp+y6i0EHAiEAl4aqVrV6YpyGSZ8Dr7I5Dz0LjBZMDGouBay1p/XEKU8="}]},"maintainers":[{"name":"malkhazidartsmelidze","email":"malkhazidartsmelidze@gmail.com"}],"_npmUser":{"name":"malkhazidartsmelidze","email":"malkhazidartsmelidze@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/max-validator_1.0.0_1589917795762_0.3086879057036245"},"_hasShrinkwrap":false},"1.0.1":{"name":"max-validator","version":"1.0.1","description":"Advanced validation library for react","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/malkhazidartsmelidze/max-validator.git"},"keywords":["react","react-validation","validation","validate"],"author":{"name":"Malkhazi Dartsmelidze"},"license":"ISC","bugs":{"url":"https://github.com/malkhazidartsmelidze/max-validator/issues"},"homepage":"https://github.com/malkhazidartsmelidze/max-validator#readme","browserslist":{"production":[">0.2%","not dead","not op_mini all"]},"gitHead":"9f7e94004d20ed616224e3ce515ffc782b66e386","_id":"max-validator@1.0.1","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-MwyJ/4Qdw/soe3InAOZKaNWZA7FAHoirjvoylf4SHwI5F+Igma4FaOKSarSxpMAjwYM95KWN0bXMOW68eKmx0g==","shasum":"63ddd5a9affcbe732514ba9758f861bef7c9396e","tarball":"https://registry.npmjs.org/max-validator/-/max-validator-1.0.1.tgz","fileCount":29,"unpackedSize":26916,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexFrrCRA9TVsSAnZWagAAgfMP/iYh3RM4XnOOrlVkxTkE\n6fXJ9MjX+mWKXf3kYVIfcGU9mT/3S9wQHkdBFubGm52WurTElkKnWTzegRa1\nUgRPC59zf2H7VOdrn+4XYALrCAODd2hTHD2A66g6zAgeWiLGUmu/Qjipnwug\nerddkrB2FWbWMAQgc5ku9EV4D5pzhT9D87W11lHSAqueyp7NhycHppHF30tm\n9ZKs2xq4en2iCsOIe4jMuvWQeWDB0H6/tksyPTqvBd5M05sKsUsIrVuxJOzE\nvoSE/+0VvEJC2Y4r1H7tAtqn+8zmGxomc5XkB+hDVNTR3T2Vx00i/Irjq5Ud\nhxz0wx+4WFPKHrSgyjHJbB8vFT+7SV1Z7Jhm5Aoyt7Z8qMXonGOISXTmDwpI\np+DB9rxyg2fhyNrU9onfC6lIbgrvNieMJLA+5XkvBvqeKMme6iqwBviYbVak\nhTkxf03Z47vbvMPL30GOAJNbo9lX7VG0qASXozuF9+I/+vvNBU6WL1MCDDbi\n7/Qh/95N52atQ2mCTIEjrT+s2ytqqX5Gs9RiZmnpxrJkicl6KH6MKtEfaogq\nJRsjSLQorgfCM3N8Qo/R+yopuq+2VY+Q/H4N972bfoO9szu9HOGeGtiA9Rhr\nPQ1KStxPqTujn7XqOpGd1PQi2521SrP1cZGmyupEmEetWQRs4H4g9DAlvDK9\n82vR\r\n=Op6P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3jN4ubTu30UEm3yGgd8tr/atb4cr0IH+c09moZ9AxvgIhAP/e/ruD1h2ShiSoNn92CzK0pBe03LQdTbJXytIQc98g"}]},"maintainers":[{"name":"malkhazidartsmelidze","email":"malkhazidartsmelidze@gmail.com"}],"_npmUser":{"name":"malkhazidartsmelidze","email":"malkhazidartsmelidze@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/max-validator_1.0.1_1589926635048_0.5423066604239062"},"_hasShrinkwrap":false},"1.1.0":{"name":"max-validator","version":"1.1.0","description":"Advanced validation library for Javascript & Reactjs","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/malkhazidartsmelidze/max-validator.git"},"keywords":["react","react-validation","validation","validate"],"author":{"name":"Malkhazi Dartsmelidze"},"license":"ISC","bugs":{"url":"https://github.com/malkhazidartsmelidze/max-validator/issues"},"homepage":"https://github.com/malkhazidartsmelidze/max-validator#readme","browserslist":{"production":[">0.2%","not dead","not op_mini all"]},"dependencies":{"max-validator":"^1.0.1"},"gitHead":"5469addc0a60abf0a4783e27d84fa78d74ddce5b","_id":"max-validator@1.1.0","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-wf2YODVgdtH5IA02nWrDfnAY5mSF4CXC2jxxWnkf1doKXUZ35eH1tln7uofvwQG3MT9jkNQiQb63UYsP4dLAYw==","shasum":"2bc574fc78bd2f2dfde8b863525cac6773ca55a5","tarball":"https://registry.npmjs.org/max-validator/-/max-validator-1.1.0.tgz","fileCount":32,"unpackedSize":31068,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexwDWCRA9TVsSAnZWagAA4pQP/19QbGxynFCZi+ivrBEO\nmcaEJjzj7MuaBrP+4o21jfefDBSQjtygsQFOgRBKeDRope3Tp8r1dwPzwID4\nSIu1Z+93sFtSsmIzw4IvPpWhaKsGOJSPlU8XECi2lk+cbXA6ygSWedEvlCtC\nEmfrmNYTMKW2e2dJFjj2ZMoJTamcyTSjGtSmr1AslL93i8c6CVVs9zPtKY7M\ntgI88lxxQRGn788jWPfK5qTIDTQvsoHptME2mqU0Ew8Q1XdYtWXb/e8sUL4R\nwjpkz9Vy6XHLka/HvSviSgFIZNL2mW5ScQhR9dbPp85CclFtlHG13DvZoUFC\n5LENCfsREjxeobkrqfWhumyHoSkth6A5c98BnS8xct56D+EilTJnM7fHYsYA\nqM4q3donJVDazRczoAYyTMQjWcH4IWKxeDstgVmLxzsrU6j0tT9Pd80BLbTE\n157REm+yYxobF7/L2LkT12fKxSf5B5GkpjIW8JyNYTBojdyenH5ybGXuDU4d\nLYmWodcGpYd+RnAeNw5XkuId+pqRdXsoBzJgWPp9HzwaXRMYLWRTj8omfZeT\nR93sLgaBnIQ5XIXKk5a0+K4sEK1+8W4t4u46Gl6XbEvxfP6Z4IADBPrbEg4S\nFiEBhYB5oUvMyPytsR43gQEhySg/kll+twSdEzGY6mbBC2LgYadSbLueAiQ4\nopQA\r\n=Pj/6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC227BrDc3Ay6JSIVWwz8Li3ZMSdDH4plR7/98lmfaTnAIgBJz/+kMKxacHhy6uxRdQBfMvLpAlkS/xjloBEkX7rxY="}]},"maintainers":[{"name":"malkhazidartsmelidze","email":"malkhazidartsmelidze@gmail.com"}],"_npmUser":{"name":"malkhazidartsmelidze","email":"malkhazidartsmelidze@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/max-validator_1.1.0_1590100182317_0.6506320290128496"},"_hasShrinkwrap":false},"1.1.1":{"name":"max-validator","version":"1.1.1","description":"Advanced validation library for Javascript & Reactjs","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/malkhazidartsmelidze/max-validator.git"},"keywords":["react","react-validation","validation","validate"],"author":{"name":"Malkhazi Dartsmelidze"},"license":"ISC","bugs":{"url":"https://github.com/malkhazidartsmelidze/max-validator/issues"},"homepage":"https://github.com/malkhazidartsmelidze/max-validator#readme","browserslist":{"production":[">0.2%","not dead","not op_mini all"]},"dependencies":{},"gitHead":"28b26cc63c00fe3d999d86dc95e9d5eef26cc92a","_id":"max-validator@1.1.1","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-Xu68Y/NZ2DGMgoU7ydfD/TRUmrRr+uqqhxF+mTR5EHQilBOf0jgXX83lUNC23KoBP1NXtZK72KMD9khFY6CBKQ==","shasum":"cbea82bd6ee9e041b5f8fa57ff259419ef29f715","tarball":"https://registry.npmjs.org/max-validator/-/max-validator-1.1.1.tgz","fileCount":32,"unpackedSize":31035,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeyCXnCRA9TVsSAnZWagAAhxgP/RXrtMFXC2x88CPnSqeQ\nff2mOtkQB+Tb7x23RAr3EeHsGj5vXpstMen1ZxVXHMN2ZJ4OdknPCau3K8NU\nikggsfeN/eBUQ1B7VekT01o/8GoO7XPYf/1juymKnbibTWBjR34ubfQELNIe\nkInPxaktnAeDHDV7KcmrQVEEiFsSsN+kVvTu/EqxnSgbyUQo7ZJjSSDYf/Gr\nmIF3ITrspoPRKUAAhLV5B3Dac1nkOkt0D9UpWKTOsyiLwKyfUAZJTVotp+c+\nZbFIA2xe1NBPfcS6r8APEXgINCpQ6aoLXA7KsmvivhCrMWZbb1CrV/hXOSBi\nIuLZUSppmhwD6JurtNV7QQejcimtTveDTQ3V9UdDGYl8McCScasm6ahdcYwi\nYNz7+R9ACK2TvDDmj9qru4b1iX7OiA5XwAqaAc9AkhNeztmNZlldpHyLOfiW\nrSbIgNG6FcBddko/Qo5Ov2CQfa8lt1hbGToe3lJfIR0jkm0KRE66qzWPSB7Q\nUmgipA6uLJEb4SRWovkDFAIlQT6NZbQofusQqtZnmRXzNWwv6PMuIhqijJAC\n0+lv2UtbCYpI3ZCgxBEFgbd65lvgM1n40Fcs1ibxYrHD1AfPgYvFF+1fRcpE\n7t9BJOu6oJjrm4KeUKJ21P3x56N3eh7eCMNe5yjeduwTIPzsbaM3eSL+pUNv\ntGgY\r\n=WPCC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHt4MHO3rNpo+9iwUORpuFzOWCx0vC6zxYF7TIfmZEFwIgNgwyzWVGY+gRpCxW6MLNVYF5rUH7l2Z8pQghfsncjxU="}]},"maintainers":[{"name":"malkhazidartsmelidze","email":"malkhazidartsmelidze@gmail.com"}],"_npmUser":{"name":"malkhazidartsmelidze","email":"malkhazidartsmelidze@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/max-validator_1.1.1_1590175206503_0.8209826972879635"},"_hasShrinkwrap":false},"1.1.2":{"name":"max-validator","version":"1.1.2","description":"Advanced validation library for Javascript & Reactjs","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/malkhazidartsmelidze/max-validator.git"},"keywords":["react","react-validation","validation","validate"],"author":{"name":"Malkhazi Dartsmelidze"},"license":"ISC","bugs":{"url":"https://github.com/malkhazidartsmelidze/max-validator/issues"},"homepage":"https://github.com/malkhazidartsmelidze/max-validator#readme","browserslist":{"production":[">0.2%","not dead","not op_mini all"]},"dependencies":{},"devDependencies":{"tinyify":"^2.5.2","browserify":"^16.5.1"},"gitHead":"6fc12698faab8e77e064b64df494d997a9c45eb8","_id":"max-validator@1.1.2","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-qavNA1yqmHwSVkYkLinYX4IMTrEGhRL/7wV4XQudukgApY0BtQ66EDIrOa+e19e9ZPZIxHtHQQguoOiCZrW2Dw==","shasum":"a01e175930b54d05b5d5df12ac253778ac1850d5","tarball":"https://registry.npmjs.org/max-validator/-/max-validator-1.1.2.tgz","fileCount":33,"unpackedSize":44331,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgaxIyCRA9TVsSAnZWagAA3TYP/0DtKvevdD5iv+0xnShM\nU1HxbHNDJyA/Vwv88siVdiBPy2DEKwOx+SKElikzZXEMdOTDk1UT3riwEMyN\nMBsKKaENxT7wEsyH8Z37iiJ4eeEMF0CvScHQdcD0d1858HIwzQ+8yNLPdqh9\nHi1kVOGhkvtc/JfsuEsqe4664DobJjsAmQRyb8VheccBX6O6i9RgS4+Pmq21\nfS8AhoESzIXai33etHLdUFRFrOsityyAYtMPdSLVkvaK12YwFN5OSQKzxjEN\ngiXM4cStxOT1ybe2bRFlaavbBVpdjL+MDVX5BkQUOdtHg1vHv+FsQZp6vTuz\nRs8y7P26mFOEaxJR6N7NybW/dAZWfn9k5/J1EMI9IXr4OTpQSjnX9Fiatxp8\nKQNaHmzEE85qc/9EZWwT2D8lkOO573SyLA07IDiogH+nFP5J6gbSJU2ilZic\n3E1hMRQjehgJCfpPCXmGV/SDIM9s/RVvdqTSE5c78BOHckW3pa2MEwP9p0aN\nMslU1XF9INN35nmf3O2jMwLgf/nztXwo0zkZuhWNL/9VL/AwkYPDr12/YwCW\nL0YXxpJYto3gWe9dl5pWQPdVxQMKuyspZMh1ZKynXteKwZ+/n2P022JODe/T\nFEyu/iOswrDKlFNQjUa16Zhhp0hroq7hmQt1f/VE+Jz6tNlE+9y950olNgjZ\nWkOp\r\n=8SBj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIfhP3b9xZ3a5As0/3tSPp8UA6zzrGnErvympiLMVZGwIhAPApufpkiIeH2Uk1af/1o0f3AtBDkxZXBPZ58QFzwrCM"}]},"_npmUser":{"name":"malkhazidartsmelidze","email":"malkhazidartsmelidze@gmail.com"},"directories":{},"maintainers":[{"name":"malkhazidartsmelidze","email":"malkhazidartsmelidze@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/max-validator_1.1.2_1617629745685_0.2988185333806608"},"_hasShrinkwrap":false},"1.2.0":{"name":"max-validator","version":"1.2.0","description":"Advanced validation library for Javascript & Reactjs","main":"dist/max-validator.js","module":"dist/max-validator.es.js","scripts":{"build":"rollup -c","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/malkhazidartsmelidze/max-validator.git"},"keywords":["react","react-validation","validation","validate"],"author":{"name":"Malkhazi Dartsmelidze"},"license":"ISC","bugs":{"url":"https://github.com/malkhazidartsmelidze/max-validator/issues"},"homepage":"https://github.com/malkhazidartsmelidze/max-validator#readme","browserslist":{"production":[">0.2%","not dead","not op_mini all"]},"devDependencies":{"@babel/preset-env":"^7.13.15","jest":"^26.6.3","prettier":"^2.2.1","rollup":"^2.45.2","rollup-plugin-terser":"^7.0.2"},"gitHead":"6cefd10a0dff8baef021d84ccdc24a77700f0eef","_id":"max-validator@1.2.0","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-rYpblsVBts98VD2Dp0fkz7l8/FR5Y3DHoCdbzxvD+wU46BsKEIz9NbhFEJyaSoqlj/10QZ62vsL2Zj0+EtSBRw==","shasum":"4d6a5f311600ecce177cf5fd23daedaa22f8a715","tarball":"https://registry.npmjs.org/max-validator/-/max-validator-1.2.0.tgz","fileCount":6,"unpackedSize":71152,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfWTQCRA9TVsSAnZWagAAFxgP/jSVqF2jUaxTD+t0a8yy\nX0Wl1iiZtdLYSLCFZiYmhNJoKp3j6Imhy6ACdF/noJiK3A5lIwBm1d0ORrbw\nTBX8teaTLZST5mXzCQr4CZFc0ErvXCgPFKqCl9AExZMHEXPcjn1hTX0lmIkg\nqYn5rn71jYdq7AW3mAeglystU5qOwbjm6/fn8Ege4wjG5p/Lq29SkSaGNlDo\nUYfbz5vQBRSmJB2rNf0zRS8y/4ibgrG6afsu61MtBPy/balqH1NK9rFywZL1\nLfPU2JlI7aFLBJeMeEV60f1Twy75E2MIaWn+oxiVdOJtNBqHxRTmGOrEJ3bW\nvHCcq9mTJAJrCA6cge7KjglI5w2x4E2aH1+TF9XfN4cGezoNFfvuheKYlrVE\nWUq1rnEgrYMiTPPEAx15nrBdQEiv5mzFr7BEo8MK+NwzCJwEp0c8StHOHGh1\nJCOgBWr9nSAetkhFsj+RPfLSmu0+ZbSuVA3qAQcGmJ4AXKHvzJ+2/OvQ3wKW\nNZ55+zSYuaQfCm+DOr35WSyiC5J85Dek5oZgbU7S2BhuravbuJLLlHNfGppe\nhhEfq1xne59KYzfFa03Q3Ftt+9diHTdvrXaP7+1Gu8u8Tv+NSNUyfEh4y7hS\nVcsIFZVCyZ8gOpYHqVx2fctTqoh5wM7lItZnMrVnHqqhxQeCW4pLlLYeYIgK\njKK4\r\n=PDT8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHWsu8tQ0UQh38SxosiQn+aFGwuaV11j8RRw9MUui5RGAiAkBKheOuxwDk4fCtrfw+5mHm4ftjSxK5G+yoKCljfORg=="}]},"_npmUser":{"name":"malkhazidartsmelidze","email":"malkhazidartsmelidze@gmail.com"},"directories":{},"maintainers":[{"name":"malkhazidartsmelidze","email":"malkhazidartsmelidze@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/max-validator_1.2.0_1618830543725_0.7729346071312693"},"_hasShrinkwrap":false},"1.2.1":{"name":"max-validator","version":"1.2.1","description":"Advanced validation library for Javascript & Reactjs","main":"dist/max-validator.js","module":"dist/max-validator.es.js","scripts":{"prepublishOnly":"rm dist/* -f && npm run build","build":"rollup -c","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/malkhazidartsmelidze/max-validator.git"},"keywords":["react","react-validation","validation","validate"],"author":{"name":"Malkhazi Dartsmelidze"},"license":"ISC","bugs":{"url":"https://github.com/malkhazidartsmelidze/max-validator/issues"},"homepage":"https://github.com/malkhazidartsmelidze/max-validator#readme","browserslist":{"production":[">0.2%","not dead","not op_mini all"]},"devDependencies":{"@babel/preset-env":"^7.13.15","jest":"^26.6.3","prettier":"^2.2.1","rollup":"^2.45.2","rollup-plugin-terser":"^7.0.2"},"gitHead":"4929c5deb04cb51f639e7eac575f3e2c8f2ccb56","_id":"max-validator@1.2.1","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-oAE3jzAAJmDjQXi/lJxM/VYdsXQCTHf+K/Use4Co9FIbMUuMKmBeVYSWmGHvs4f+2WbIyVyOjjgSj0srXaBNHw==","shasum":"62da06910f51338f022733cee6e376892074b871","tarball":"https://registry.npmjs.org/max-validator/-/max-validator-1.2.1.tgz","fileCount":7,"unpackedSize":78277,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghD49CRA9TVsSAnZWagAAd8EP/2qPrb52qRBHYakfGF41\nQ2Hv+3h8ZHMluVdrPHYcm+DFIlqi2tgSEFnp20pEoXs8QcVHTWEWlhdKlHbP\n4HbHZyLApyCKPKHFHmO6k+HkTg61LRYtJPEBwrsH0i7LppxaFfvpVZmPwXdU\nggYrJoKLFfM1vxx8GhXT0OSwFPBH4umO9OhZWNvmuEWG3kKhGYpE9CRkBcIi\nXpMOmu1xYcXsbtz5OeY5s3z/322xVqgIZsULNCdmZE7qHXm8j30GLCLiNVdz\nIpYMSglcG/8dqvLMhmqn06Q+HqVSMSwI1nC301rmka4HEn+HiQ3Ch1RdoSwZ\nfqb/GkanobHtHlC/M7vPuak8B8gJQDqlJQEdAOw+Mm5ZNbQ4DCN0oHNdxD/o\nh733Vqr5gwiTKG6PMF2kNiE5LnUae+EMdxgWWYe1P/8a1zb3DJTUfou6xWYj\neppOMFxxtKaE9O7Bu747G3kZm3JgZprn2kTTfNKqRPmqQUdoQxnW07Doyr7J\nsnEhDG5w/T+w/XhF7ONd5gVNHjWtAvejdyM++DReDmLxIa2GTOd81FZNrlU2\nuLO5KeYmQtbhSfkcSUdRs+OeHCSxBL5C0wu2bsJEErHtQkzmufWeqf79KgOB\nGdV1P67hDo8rDct4sq9IMfzHzSgS2wp9YZ8TskuHl0mGT+fviKg88g6iM8Vf\n1MWg\r\n=ZHBe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFEduSZXpA2CmLQDFmSeBgatWiZC+TZ2PFQckUX+GaZ9AiEAypQG7rVTWOs3pxP6+ttfkGBhagqPmJgNyDxWe8E7tjA="}]},"_npmUser":{"name":"malkhazidartsmelidze","email":"malkhazidartsmelidze@gmail.com"},"directories":{},"maintainers":[{"name":"malkhazidartsmelidze","email":"malkhazidartsmelidze@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/max-validator_1.2.1_1619279421169_0.03140271357519331"},"_hasShrinkwrap":false}},"time":{"created":"2020-05-19T19:49:55.762Z","1.0.0":"2020-05-19T19:49:55.891Z","modified":"2022-05-08T23:44:40.472Z","1.0.1":"2020-05-19T22:17:15.205Z","1.1.0":"2020-05-21T22:29:42.435Z","1.1.1":"2020-05-22T19:20:06.600Z","1.1.2":"2021-04-05T13:35:45.818Z","1.2.0":"2021-04-19T11:09:03.880Z","1.2.1":"2021-04-24T15:50:21.287Z"},"maintainers":[{"name":"malkhazidartsmelidze","email":"malkhazidartsmelidze@gmail.com"}],"description":"Advanced validation library for Javascript & Reactjs","homepage":"https://github.com/malkhazidartsmelidze/max-validator#readme","keywords":["react","react-validation","validation","validate"],"repository":{"type":"git","url":"git+https://github.com/malkhazidartsmelidze/max-validator.git"},"author":{"name":"Malkhazi Dartsmelidze"},"bugs":{"url":"https://github.com/malkhazidartsmelidze/max-validator/issues"},"license":"ISC","readme":"# Documentation\r\n\r\n- [Instalation](#instalation)\r\n- [Usage](#usage)\r\n- [Extending Validator](#extending-validator)\r\n- [Aviable Validation Rules](#aviable-validation-rules)\r\n- [Use With React.js](#use-with-react.js)\r\n- [Messages](#messages)\r\n- [Change rule separators](#change-rule-separators)\r\n- [Contributing](#contributing)\r\n- [License](#license)\r\n\r\n## Installation\r\n\r\nYou can install `max-validator` using npm or yarn package manager:\r\n\r\n```bash\r\nnpm i max-validator --save\r\n#or\r\nnpm install max-validator --save\r\n#or\r\nyarn add max-validator\r\n\r\n```\r\n\r\n### Usage\r\n\r\n```javascript\r\nvar V = require('max-validator');\r\n\r\n// validate if email is unique\r\nvar checkEmail = function (value) {\r\n  if (isUniqueEmail(value)) {\r\n    return true;\r\n  }\r\n  return 'This email is already used';\r\n};\r\n\r\nvar registerRequestScheme = {\r\n  name: 'required|string|min:2|max:50',\r\n  lastname: 'required|string|min:2|max:50',\r\n  gender: 'required|in_array:male,female',\r\n  accept_policy: 'checked',\r\n  email: [\r\n    'required',\r\n    'email',\r\n    'ends_with:gmail.com',\r\n    checkEmail,\r\n    function (value) {\r\n      // Validate with inline function\r\n      if (isValidEmail(value)) {\r\n        return true;\r\n      }\r\n      return 'Provided email is invalid';\r\n    },\r\n  ],\r\n  address: {\r\n    required: true,\r\n    min: 5,\r\n    max: 50,\r\n    contains_one: ['st', 'str', 'street', '#'],\r\n    mycustom: function (value) {\r\n      if (value !== 'foo') {\r\n        return 'Your address is incorrect';\r\n      }\r\n      return true;\r\n    },\r\n  },\r\n};\r\n\r\nvar result = Validator.validate(\r\n  {\r\n    name: 'Malkhazi',\r\n    lastname: 'Dartsmeldize',\r\n    email: 'malkhazidartsmelidze@gmail.com',\r\n    gender: 'male',\r\n    accept_policy: 'true',\r\n    address: 'Tbilisi, Georgia',\r\n  },\r\n  registerRequestScheme\r\n);\r\n\r\n// Get if validate returned error\r\nresult.hasError; // Boolean\r\n\r\n// Get errors object\r\nresult.errors; // Object\r\n\r\n// Get if given field has error\r\nresult.isError('name'); // Boolean\r\n\r\n// Get if given field has error of given validation rule\r\nresult.isError('name', 'max'); // Boolean\r\nresult.isError('name', 'mycustom'); // Boolean\r\n// Note: you cant get whether inline function passed validation or not\r\n\r\n// Get first validation error message of field\r\nresult.getError('name'); // String\r\n\r\n// Get all validation error messages of field\r\nresult.getError('name', true); // String (joined messages with comma)\r\n```\r\n\r\n## Extending Validator\r\n\r\n> Validator function must return `true` to make data valid\r\n\r\n```javascript\r\nimport V from 'max-validator';\r\n\r\nV.extend(\r\n  'custom_rule',\r\n  function (value, param1, param2, ...rest) {\r\n    // You can pass as many parameter as you want or use ...spread operator to get array as parameter\r\n    var err = {\r\n      value: value,\r\n    };\r\n    if (value !== 'condition') {\r\n      return true;\r\n    } else {\r\n      return err;\r\n    }\r\n  },\r\n  'Default Error Message: :name cant be :value'\r\n);\r\n// usage: {name: 'custom_rule:val1,val2|required'}\r\n```\r\n\r\n## Validation Structure\r\n\r\n```javascript\r\nV.validate({\r\n  dataName: 'value here'\r\n}, {\r\n  dataName: 'required|string|in_array:val1,val2',\r\n  withArray: ['required','string', 'in_array:val1,val2'],\r\n  withObject: {\r\n    required: true,\r\n    string: true,\r\n    in_array: ['val1','val2'],\r\n    customRule: function(value){\r\n      // Custom condition here\r\n      if(/* isvalid */){\r\n        return true\r\n      } else {\r\n        return 'This is error string';\r\n      }\r\n    }\r\n  }\r\n})\r\n```\r\n\r\n## Aviable Validation Rules\r\n\r\n```javascript\r\n/**\r\n * Validates if given values is `undefined` `null` or empty string.\r\n * @message Parameter is required\r\n * @example ...'|required'\r\n */\r\n'required';\r\n\r\n/**\r\n * Tells validator to pass value in validator function as string\r\n * @example ...'|string'\r\n */\r\n'string';\r\n\r\n/**\r\n * Tells validator to pass value in validator function as number\r\n * @example ...'|number'\r\n */\r\n'number';\r\n\r\n/**\r\n * Rule for parameter that is not required\r\n * @example ...'|nullable'\r\n */\r\n'nullable';\r\n\r\n/**\r\n * Returns error if given value is greater than given parameter, if value is not numeric compares string length\r\n * @message Parameter cant be less than Value\r\n * @example ...'|min:20|'\r\n */\r\n'min';\r\n\r\n/**\r\n * Returns error if given value is less than given parameter, if value is not numeric compares string length\r\n * @message Parameter cant be greater than Value\r\n * @example ...'|max:20|'\r\n */\r\n'max';\r\n\r\n/**\r\n * Returns error if given value is between given parameter, if value is not numeric compares string length\r\n * @message Parameter must be between From and To\r\n * @example ...'|between:20,40|'\r\n */\r\n'between';\r\n\r\n/**\r\n * Validates if checkbox is checked. Valid values: `'on', 1, 'true', true`\r\n * @message Parameter must be checked\r\n * @example ...'|checked|'\r\n */\r\n'checked';\r\n\r\n/**\r\n * Validates if given value is object\r\n * @message Parameter must be object\r\n * @example ...'|object|'\r\n */\r\n'object';\r\n\r\n/**\r\n * Validates if given value is array\r\n * @message Parameter must be array\r\n * @example ...'|array|'\r\n */\r\n'array';\r\n\r\n/**\r\n * Validates if given value is boolean\r\n * @message Parameter must be boolean\r\n * @example ...'|boolean|'\r\n */\r\n'boolean';\r\n\r\n/**\r\n * Validates if given value is valid json\r\n * @message Parameter must be valid json\r\n * @example ...'|json|'\r\n */\r\n'json';\r\n\r\n/**\r\n * Validates if given value contains only digits and letters\r\n * @message Parameter can only contain digits and letters\r\n * @example ...'|alpha_numeric|'\r\n */\r\n'alpha_numeric';\r\n\r\n/**\r\n * Validates if given value contains only digits\r\n * @message Parameter can only contain numbers\r\n * @example ...'|numeric|'\r\n */\r\n'numeric';\r\n\r\n/**\r\n * Validates if given value contains only letters\r\n * @message Parameter can only contain leters\r\n * @example ...'|alpha|'\r\n */\r\n'alpha';\r\n\r\n/**\r\n * Validates if given value contains only letters and dashes\r\n * @message Parameter can only contain letters and dashes\r\n * @example ...'|alpha_dash|'\r\n */\r\n'alpha_dash';\r\n\r\n/**\r\n * Validates if given value is correct email\r\n * @message Parameter must be correct e-mail\r\n * @example ...'|email|'\r\n */\r\n'email';\r\n\r\n/**\r\n * Validates if given value is in given array\r\n * @message Parameter is invalid\r\n * @example ...'|in_array:1,2,a,b,c|'\r\n */\r\n'in_array';\r\n\r\n/**\r\n * Validates if given value is not in given array\r\n * @message Parameter cant be Value\r\n * @example ...'|not_in:1,2,a,b,c|'\r\n */\r\n'not_in';\r\n\r\n/**\r\n * Validates if given value is valid IP Address\r\n * @message Parameter must be valid ip adress\r\n * @example ...'|ip|'\r\n */\r\n'ip';\r\n\r\n/**\r\n * Validates if given value is valid URl\r\n * @message Parameter must be valid URL\r\n * @example ...'|url|'\r\n */\r\n'url';\r\n\r\n/**\r\n * Validates if given value equals to given parameter\r\n * @message Parameter must equal to Value\r\n * @example ...'|equals:foo|'\r\n */\r\n'equals';\r\n\r\n/**\r\n * Validates if given value don't equals to given parameter\r\n * @message Parameter can't be Value\r\n * @example ...'|not_equals:foo|'\r\n */\r\n'not_equals';\r\n\r\n/**\r\n * Validates if given value don't contains one of parameter\r\n * @message Parameter must contain \"Value\"\r\n * @example ...'|contains_one:foo,bar,2|'\r\n */\r\n'contains_one';\r\n\r\n/**\r\n * Validates if given value don't contains every given parameter\r\n * @message Parameter must contain \"Value\"\r\n * @example ...'|contains_all:foo,bar,2|'\r\n */\r\n'contains_all';\r\n\r\n/**\r\n * Validates if given value starts with given prefix\r\n * @message Parameter must start with Value\r\n * @example ...'|starts_with:foo|'\r\n */\r\n'starts_with';\r\n\r\n/**\r\n * Validates if given value ends with given suffix\r\n * @message Parameter must end with Value\r\n * @example ...'|ends_with:foo|'\r\n */\r\n'ends_with';\r\n\r\n/**\r\n * Validates if given value is valid date\r\n * @message Parameter must be valid date\r\n * @example ...'|date|'\r\n */\r\n'date';\r\n\r\n```\r\n\r\n---\r\n\r\n### Use with react.js\r\n\r\n```javascript\r\nimport React from 'react';\r\nimport V from 'max-validator';\r\n\r\nconst registerFormScheme = {\r\n  name: 'required|string|min:2|max:50',\r\n  lastname: 'required|string|min:2|max:50',\r\n  email: 'required|email|max:50',\r\n  gender: 'required|in_array:male,female',\r\n  accept_policy: 'checked',\r\n};\r\n\r\nfunction registerForm(props) {\r\n  const [formState, setFormState] = React.useState({\r\n    isValid: false,\r\n    values: {},\r\n    touched: {},\r\n    errors: V.getEmpty(),\r\n  });\r\n\r\n  const handleChange = (event) => {\r\n    event.persist();\r\n\r\n    setFormState((formState) => ({\r\n      ...formState,\r\n      values: {\r\n        ...formState.values,\r\n        [event.target.name]:\r\n          event.target.type === 'checkbox' ? event.target.checked : event.target.value,\r\n      },\r\n      touched: {\r\n        ...formState.touched,\r\n        [event.target.name]: true,\r\n      },\r\n    }));\r\n  };\r\n\r\n  React.useEffect(() => {\r\n    const errors = V.validate(formState.values, registerFormScheme);\r\n\r\n    setFormState((formState) => ({\r\n      ...formState,\r\n      isValid: errors.hasError,\r\n      errors,\r\n    }));\r\n  }, [formState.values]);\r\n\r\n  const hasErr = (name) => {\r\n    return formState.touched[name] && formState.errors.isError(name);\r\n  };\r\n\r\n  return (\r\n    <form>\r\n      <label htmlFor='name'>Name</label>\r\n      <input\r\n        type='text'\r\n        className={hasErr('name') ? 'error' : ''}\r\n        name='name'\r\n        value={formState.values.name}\r\n        onChange={handleChange}\r\n      />\r\n\r\n      <label htmlFor='lastname'>Last Name</label>\r\n      <input\r\n        type='text'\r\n        className={hasErr('lastname') ? 'error' : ''}\r\n        name='lastname'\r\n        value={formState.values.lastname}\r\n        onChange={handleChange}\r\n      />\r\n\r\n      <label htmlFor='lastname'>Email</label>\r\n      <input\r\n        type='mail'\r\n        className={hasErr('email') ? 'error' : ''}\r\n        name='email'\r\n        value={formState.values.email}\r\n        onChange={handleChange}\r\n      />\r\n\r\n      <label htmlFor='lastname'>Gender</label>\r\n      <select\r\n        name='gender'\r\n        className={hasErr('gender') ? 'error' : ''}\r\n        value={formState.values.gender}\r\n        onChange={handleChange}\r\n      >\r\n        <option value='male'>Male</option>\r\n        <option value='female'>Female</option>\r\n      </select>\r\n\r\n      <label htmlFor='lastname' className={hasErr('accept_policy') ? 'error' : ''}>\r\n        I accept terms and conditions\r\n      </label>\r\n      <input\r\n        type='checkbox'\r\n        value={formState.values.accept_policy}\r\n        name='accept_policy'\r\n        onChange={handleChange}\r\n      />\r\n    </form>\r\n  );\r\n}\r\n```\r\n\r\n## Messages\r\n\r\n> You can override or add new message\r\n\r\n```javascript\r\nimport V from 'max-validator';\r\n\r\n/* Override default messages */\r\nV.setMessages({\r\n  required: 'required override message',\r\n  min: 'validator got parameter :min and value :value'\r\n  ...\r\n});\r\n\r\n/* Default message is shown when message not found for rule. (usually when rule is custom made) */\r\nV.setDefaultMessage('This is default message');\r\n```\r\n\r\n## Change rule separators\r\n\r\n```javascript\r\nimport V from 'max-validator';\r\n\r\nV.setRuleParamSeparator('|');\r\nV.setParamsSeparator(':');\r\nV.setRuleParamSeparator(',');\r\n```\r\n\r\n## Contributing\r\n\r\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\r\n\r\n## License\r\n\r\n[MIT](https://choosealicense.com/licenses/mit/)\r\n","readmeFilename":"README.md"}