{"_id":"koatty_validation","_rev":"40-e634fe772d77589d6a0d9e416beb0f91","name":"koatty_validation","dist-tags":{"latest":"2.1.0"},"versions":{"1.0.0":{"name":"koatty_validation","version":"1.0.0","keywords":["validation","koatty","thinkKoa"],"author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"MIT","_id":"koatty_validation@1.0.0","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/thinkkoa/koatty_validation","bugs":{"url":"https://github.com/thinkkoa/koatty_validation/issues"},"dist":{"shasum":"d1ccfb30fe29c71effb8a00d7e66163632d82b58","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.0.0.tgz","fileCount":14,"integrity":"sha512-ostzqi9AVTIqntfB15TXD7T4gAOTys1wH9tyrklFPSOckfyEfBTXceYR+zseaZj1gQBrCRBC7v3iE0Rf0AHmbA==","signatures":[{"sig":"MEYCIQD4Yd1wuaszYCQcy4PHIO+dvePG/qLFoEMbjZLJIq2NTAIhAIXBdQ73Q0fC+Y8m9Si1eEgTyrx5jglpg5zqQAB8UiT1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":96805,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxzS4CRA9TVsSAnZWagAA7E4P/jEysb5AXqzsrHOT7GUJ\nb5RR/Ju4oNI3RB9tpIGt51ObqsmFL+qcfEBu/8zRmM+R/a+c0nn8YEwrfiVa\n1/MGlodWjVa+axeStHSn5Pe+EHlQu7vIrr2Ny7EAG7b9Nb/+lg4/udqhtHyn\nVZXkj/jLdzb7aSbl8cAIDXmbO2tc5/yvRFvP/ktFXOQ3RE+qm9UXpxMSEvnV\nA6YkTn5xrIKzJNi9YlbOEIwUr5quOAchQH3NhfnXDsc1dCXuLa+reT4vIA+C\nBHJyZCCwJEZAQq5WM75QyPDpSUbfB8jY9zGRkPDrGzJDVZV2oDE6cL1D0qZc\nYkaxELhTacguOK11bvSfINUChUe9ayOOPatbbEW2SLiqXZqN12LeAuyQ/PkW\nNcxMcuwu1oyNoDdDfczu1KasnOXcyuoUzcPDku/eAuTpKB3Qppf9pJLXjQ4u\n1tnVcZ6X/M1Q9kBEjNOwmVsdvpJBT5FH4QrJKQUgoNHuqMDp8BXxTFCt3gLf\nJpyBl/+eZKqN5KVRUoDVMhfGjNSz02nwNXkG5drHnW+0bEGHTmuFqbgY1BfE\nEEaJusSL0feEmGQuzC8D/sYhXbiDclV1rcZNg0gXT4PbGcRgQjzZXi6dggnX\nzoCDe3BoN37NIlU7FjTNGeHObxCBLqEkfdtFHVimqJQbopjlk2Zc4038KkgK\nSAUe\r\n=9CUn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","engines":{"node":">10.0.0"},"gitHead":"f669ac2ca6165a2b9afc181dda579d1b4bd85373","scripts":{"test":"tslint 'src/**/*.ts'","build":"del-cli --force dist && tsc","prepublishOnly":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/thinkkoa/koatty_validation.git","type":"git"},"_npmVersion":"6.14.8","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"tslib":"^2.0.3","koatty_lib":"^1.x.x","koatty_logger":"^1.x.x","class-validator":"^0.12.2","koatty_container":"^1.x.x","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"tslint":"^6.1.3","del-cli":"^3.0.1","ts-node":"^9.0.0","typescript":"^4.x.x","@types/node":"^12.x.x","tslint-config-alloy":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.0.0_1606890680097_0.9916173023242629","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"koatty_validation","version":"1.0.1","keywords":["validation","koatty","thinkKoa"],"author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"MIT","_id":"koatty_validation@1.0.1","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/thinkkoa/koatty_validation","bugs":{"url":"https://github.com/thinkkoa/koatty_validation/issues"},"dist":{"shasum":"4fa90ac8844e3318a1f4b7d0ae2e23b39353ee53","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.0.1.tgz","fileCount":20,"integrity":"sha512-lWUnnHlHyeOlw0KW6E3B6EMKhCtEYggedS28RepMig6mGWUzsyq1kX7EdQuaUFZIOO1/E5sbAmPDZ66r/VdPkw==","signatures":[{"sig":"MEYCIQClzd02MOomeKE+jcTzVFw7GheXDKMILlC2ReX+0GqWPgIhAL7lE8AaWIEiFHojjwJJi87b54BMUbP+OLq/K3RhprNk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1960895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0ay5CRA9TVsSAnZWagAAiMUP/jfs0z8ytIHMwpGH1OCc\nFDOnXfCbzB9I30VOgIoGcs+bfKsPYeIsfMq81F9DwGhD7tcJQ/NQBTCsejmS\nxGQtkG0wERdlOzpjprOFbtlJ9Vyn6Jxc1IkvRXg0JtDhHav6dvr/V4ZqF9pE\nZZ7PEBJ1STX4P2m+zdJgPwN91FCGJMtF6M5qeL1Jm1pt4N3dKJqBbLqddZSk\nXx3LBYsoMFmaOJblRYMXBoEoWTk1Uorjq/K4MHL/NXRC27HK31rI3B7XbCGp\nkktIVbuzhfE3Q94p/P07l7ffuetibmsSoF/JkGYayn7WAoOPJMn3zTG3voJF\nzeUv/1pop+HHFUO5W1/SeDzFprXf7h6dblPBhcDhUybcdAur3AzBb3RSQoJI\n5av6y5shsmdZM+l4XNkbtZIDBJkXL/CMEyx0fltMBvs9EBncn+ZavQQi1qtl\ntjrOB+1XUtskAsTpCrpimpzqK0Cer1TrLQTRtKVmQwTyh7GdKZkBDRex24yD\n30luoDGqANiKlQRcb8pJCtZLQCv8itV9HQGe2oFO1J3k1OwD/bh6WydX7aVX\n0jHn349xn3IPqDeChxXkrgk5y4XeG6do/QgnDBk6X27UEps4eNFG8Quj45tO\nbR/crkfWyMYKBtyndGWNJXdcAbLR7wLSGtkwRSSrS+iI1KiK80UvN2y4j/q8\ndxY/\r\n=Hl4Y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"engines":{"node":">10.0.0"},"gitHead":"ab65ac6a69af37dca3f42fbf3255e7fec5cc1999","scripts":{"test":"npm run eslint && jest --passWithNoTests","build":"del-cli --force dist && tsc","eslint":"eslint --ext .ts,.js ./","release":"npm run build && standard-version","version":"conventional-changelog -p angular -i CHANGELOG.md -s","test:cov":"jest --collectCoverage --detectOpenHandles","prepublishOnly":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/thinkkoa/koatty_validation.git","type":"git"},"_npmVersion":"7.18.1","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"14.17.1","dependencies":{"tslib":"^2.3.0","koatty_lib":"^1.x.x","koatty_logger":"^1.x.x","class-validator":"^0.13.1","koatty_container":"^1.x.x","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.4","husky":"^6.x.x","eslint":"^7.x.x","del-cli":"^3.x.x","ts-jest":"^27.x.x","ts-node":"^10.x.x","typescript":"^4.x.x","@babel/core":"^7.x.x","@types/jest":"^26.0.23","@types/node":"^12.x.x","@commitlint/cli":"^12.x.x","koatty_schedule":"^1.x.x","koatty_cacheable":"^1.x.x","standard-version":"^9.x.x","@babel/preset-env":"^7.x.x","@types/cls-hooked":"^4.x.x","eslint-plugin-jest":"^24.x.x","jest-html-reporters":"^2.x.x","@babel/preset-typescript":"^7.x.x","@typescript-eslint/parser":"^4.x.x","conventional-changelog-cli":"^2.x.x","@commitlint/config-conventional":"^12.x.x","@typescript-eslint/eslint-plugin":"^4.x.x","@babel/plugin-proposal-decorators":"^7.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.0.1_1624353977029_0.9261769349076878","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"koatty_validation","version":"1.0.2","keywords":["validation","koatty","thinkKoa"],"author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"MIT","_id":"koatty_validation@1.0.2","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/thinkkoa/koatty_validation","bugs":{"url":"https://github.com/thinkkoa/koatty_validation/issues"},"dist":{"shasum":"ace05cbaa7e13044454e85974d13a508a240cc03","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.0.2.tgz","fileCount":20,"integrity":"sha512-W+V0+l340jtLbWotFk3Bwnqho/nlxyE6glF7DKCi0V+owqQSSD72tAiG435m3T6zMpmHmTQ8nBcZVKDWEAnTbg==","signatures":[{"sig":"MEYCIQCCgCVrc9mywP9kJXgvS7qmR+1+mNgxNPe7iXrfBwSmNgIhALousknyLZakRqiOT/a8gxVWFRRZMZbk3Lwb3hYGUH2r","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1960993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2aqwCRA9TVsSAnZWagAAiscP/3flWlUKKD0Z1UpDl/da\nFGv1F5u//Fl3gNZ+eLF7z/x2Eipx5gAr2VsXBAjMVP0KiCgu0JMKDeeMREZa\nJIJZdepU+utN9qfpx7h7ar/4PiXTUD7XyL8c6K8Csi9M6+1GijHOWxwHK3DJ\nC+g1RZcZBOiygmTDNr1c8IP39pSVPZ31Buh1K2ldb3nHgzNz7uzrU8TSBiVH\nmyuWhnXRdF+6pzgyJSow3qyMj4X6IBQmVTtvpwfHK7tO8LREuJFJfdfFt3kE\n8zqjIyuHDVnfsUHGo8JF5G4Ta4EvOfmzisyNwFEEZTbbrmaIXQ80kNXP6hxw\nyKtVZbVLuW9sjwoGLlj4NMVM9QcGq/m4qRa7o4HNuLTYBSGNhXUNzjc3DZw7\nmZnD1HNefHll9L9i6Lo7afgzls6KX4pqLn3HB9k1dobm/Oysm3wCxblCQheS\nEEdNUPE52DKqv5E+pE+DLohGpBugtCSqD8oA4KJespNZGY002RsjM7ZnMiF5\nVvmg2+cAq+8snvAkgMGvyC9Lkb3OuZ9495p7C2vjZBh5VJT+5w612bRyk6fO\nVPP7HGd0X55RioC1nS0NXHHljBcoy6ERxV0PDR2zY6FLsOcj/ADVRcCjBl9M\n0E9wt5BRis7HrV+TOlNaSPZ63hf9aC2GZZkqAPfb39K5nDqeoOZn11Dm04Sg\nlA+d\r\n=E7XL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"engines":{"node":">10.0.0"},"gitHead":"13fedc8efae6f06383fbf9380fa3faccad49cdd4","scripts":{"test":"npm run eslint && jest --passWithNoTests","build":"del-cli --force dist && tsc","eslint":"eslint --ext .ts,.js ./","release":"npm run build && standard-version","version":"conventional-changelog -p angular -i CHANGELOG.md -s","test:cov":"jest --collectCoverage --detectOpenHandles","prepublishOnly":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/thinkkoa/koatty_validation.git","type":"git"},"_npmVersion":"7.18.1","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"14.17.1","dependencies":{"tslib":"^2.3.0","koatty_lib":"^1.x.x","koatty_logger":"^1.x.x","class-validator":"^0.13.1","koatty_container":"^1.x.x","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.4","husky":"^6.x.x","eslint":"^7.x.x","del-cli":"^3.x.x","ts-jest":"^27.x.x","ts-node":"^10.x.x","typescript":"^4.x.x","@babel/core":"^7.x.x","@types/jest":"^26.0.23","@types/node":"^12.x.x","@commitlint/cli":"^12.x.x","koatty_schedule":"^1.x.x","koatty_cacheable":"^1.x.x","standard-version":"^9.x.x","@babel/preset-env":"^7.x.x","@types/cls-hooked":"^4.x.x","eslint-plugin-jest":"^24.x.x","jest-html-reporters":"^2.x.x","@babel/preset-typescript":"^7.x.x","@typescript-eslint/parser":"^4.x.x","conventional-changelog-cli":"^2.x.x","@commitlint/config-conventional":"^12.x.x","@typescript-eslint/eslint-plugin":"^4.x.x","@babel/plugin-proposal-decorators":"^7.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.0.2_1624877744068_0.11028645491310884","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"koatty_validation","version":"1.0.4","keywords":["validation","koatty","thinkKoa"],"author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"MIT","_id":"koatty_validation@1.0.4","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"52d426d858993befaec99c1f35665608f02dca79","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.0.4.tgz","fileCount":20,"integrity":"sha512-J/oQ9GBfVjmKWLB1EOgK0Zg5DymLBX7QwOOhCITWPgh4fuXUBqRKUbGxHt3JkRbx+xlgtKkCTb9B6LcAAYWDLQ==","signatures":[{"sig":"MEUCIAoqNQresDWLlwmGXSs9lQUw2efhuXbaTJXfODKy+WAxAiEAxa/oVTNnrmBJlvlEkwnwjhQOqkQKfW59c4iYl37sdi4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1961491,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6/hsCRA9TVsSAnZWagAARkMP/jkjQrboKClF1vhqz2vO\nQn+AIxsa81CnDy+fE7DFonoht/VgI97Jr9UVChLceqYHX8aUyGUonG6YmKWL\n9jYyZHkpT+XqrlR1TvcEC+wCYnVgXCVddJygt2Xhxye3Rp88TNPkbc27f0QG\nTIaoafwgAOFTvcvloJY+V0e7Bru/BVAzmAkg886NjjjAKyYNkRYs23nuz9uG\ngsloNugxDUun6BkQ5ArwY28QTA94CTwR2k5VnFWPiQrytJHCM2PUA6h5qTgL\nIauuEmd7gt6l4/gPnuwYiwRKi2yoEhBkYvwCbTUS1806U9Gafue5nHQ7/MAs\ndL/KtHRI7GMclU3Os3pUX/vCrCLljfEJnDwjPXFwM9nUacKauIMKOwjN5rTl\nB9BJK94H8iP9MtJcDKwMwIeeoHUwrgsZ6zFhEJr1PDO65bkRP86spDxspoqv\nY6+X90qutZ6a0O5+QpR1i/evUEv+MzQQ8NsCHBJ1VEEJUYPWT45eXEDhxsBm\n7n3magDxEamZhf+DqL6inCM8Vcyh7/PPlvY05coPg4KRc41j9MEGUloq5ALo\nY0TaGS61u5Assoj6iCZCJpe7Q7lQbjsPlZCMAq6MPEgKYEvf/G9AFxBa/q35\nFNi4+slvDvRDJZ2CYTurlN9dSKXqwN4FMbylB0ExNaWl8NsDnOgW12wTlW8h\nCx6G\r\n=eQsj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"engines":{"node":">10.0.0"},"gitHead":"f8396a28d080efac909e82b924064f0f7dd76a8a","scripts":{"test":"npm run eslint && jest --passWithNoTests","build":"del-cli --force dist && tsc","eslint":"eslint --ext .ts,.js ./","release":"npm run build && standard-version","version":"conventional-changelog -p angular -i CHANGELOG.md -s","test:cov":"jest --collectCoverage --detectOpenHandles","prepublishOnly":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"7.18.1","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"14.17.1","dependencies":{"tslib":"^2.3.0","koatty_lib":"^1.x.x","koatty_logger":"^1.x.x","class-validator":"^0.13.1","koatty_container":"^1.x.x","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.4","husky":"^6.x.x","eslint":"^7.x.x","del-cli":"^3.x.x","ts-jest":"^27.x.x","ts-node":"^10.x.x","typescript":"^4.x.x","@babel/core":"^7.x.x","@types/jest":"^26.0.23","@types/node":"^12.x.x","@commitlint/cli":"^12.x.x","koatty_schedule":"^1.x.x","koatty_cacheable":"^1.x.x","standard-version":"^9.x.x","@babel/preset-env":"^7.x.x","@types/cls-hooked":"^4.x.x","eslint-plugin-jest":"^24.x.x","jest-html-reporters":"^2.x.x","@babel/preset-typescript":"^7.x.x","@typescript-eslint/parser":"^4.x.x","conventional-changelog-cli":"^2.x.x","@commitlint/config-conventional":"^12.x.x","@typescript-eslint/eslint-plugin":"^4.x.x","@babel/plugin-proposal-decorators":"^7.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.0.4_1626077292129_0.8487324742138607","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"koatty_validation","version":"1.0.6","keywords":["validation","koatty","thinkKoa"],"author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.0.6","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"e3da752bbdca002269294ffcf7cc0dc2200f3875","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.0.6.tgz","fileCount":21,"integrity":"sha512-9wHx7gEg239PLYVIvgJPkcmjb3XyJt5aGYioTUd9pM/Ee2/o9iGke79jSvE0gIfXOm1fmBoRtn4RC67Eiou9Dw==","signatures":[{"sig":"MEYCIQC+IEu4EpWL/gCYELLmjMEsHDLqt8g7UNwZ7p+P/SiYkwIhAO1waGh6BKTbHEjzHnaQDXZQ9k51KZqf9fbmsSgibrMV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2226870,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhmQlgCRA9TVsSAnZWagAAfUAQAKPyZfT5PUJ9ARqLPIG8\nOHXVFZVGYny9flzzUIF8TswPNGl/o4GB/gCKsmkkt8ryf0NMrutuaKodmIxw\nxWVGhiv6dctD16c96/AWWsQTJTAdsGqHcYZlBR/oS+pu/FDEQTg6yid054Zf\nCSuY6svMuztVKIggtgOIZfafYxwKhRQ80R6h5Jdt9vkJwRWlZgV6RnaS5kGQ\nc3FqE1TxFuxZxCMTmYy+txbC9v4cfTZwlVaTYet4Gy9/TWjjotLSH+8wz6tP\n1SPV3Z2B+a5Ljp52B4MEljrjFTqsCEnPZNPkifiI4UmCoFH6eG2SEy2HwWpJ\nimw8RoXcwrtFTLcY0lrU5Y52mfiMk4xyq6jQ0c0Ic4OZhw3ahml9mLMLZJfE\nagA5QdXUGA3MTfN1MADxz447gZLZpDbpCzTrZef+32/1GzJzWPK275DoB4v3\nNMI8rrggqtSWAz7ucJrrLMAGXnPLnhzdv5mjk561KvgdqGhemz1/dBMmLV3Y\nN2YbZnTk4wo1C4AdOd4iSaYtlybfU2ImaGbpPiZmOJxNOSVv47VaTE3hlPLL\njSLvKmD3OWD/aT8nWLymPxQEO2h4tHHr/e5fKo/OrTVCMangCRccReX7mtj1\nbILr/6fiqjzZjaptGvuPJgKZEaRwRxsBXpB/ep6FqVOGQ6bTBRLCrKsIFQaT\nK07Y\r\n=O8rq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"gitHead":"fffc082d9858c2349b9d37cb7a2882c631f91c4c","scripts":{"pub":"git push --follow-tags origin && npm publish","test":"npm run eslint && jest --passWithNoTests","build":"del-cli --force dist && tsc","eslint":"eslint --ext .ts,.js ./","release":"npm run prepublishOnly && standard-version","version":"conventional-changelog -p angular -i CHANGELOG.md -s","test:cov":"jest --collectCoverage --detectOpenHandles","prepublishOnly":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"8.1.3","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"14.17.3","dependencies":{"tslib":"^2.3.1","koatty_lib":"^1.x.x","koatty_logger":"^1.x.x","class-validator":"^0.13.2","koatty_container":"^1.x.x","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.x.x","husky":"^7.x.x","eslint":"^8.x.x","del-cli":"^4.x.x","ts-jest":"^27.x.x","ts-node":"^10.x.x","@types/koa":"^2.x.x","typescript":"^4.x.x","@babel/core":"^7.x.x","@types/jest":"^27.x.x","@types/node":"^16.x.x","@commitlint/cli":"^12.x.x","@types/validator":"^13.7.0","standard-version":"^9.x.x","@babel/preset-env":"^7.x.x","eslint-plugin-jest":"^25.x.x","jest-html-reporters":"^2.x.x","@babel/preset-typescript":"^7.x.x","@typescript-eslint/parser":"^5.x.x","conventional-changelog-cli":"^2.x.x","@commitlint/config-conventional":"^15.x.x","@typescript-eslint/eslint-plugin":"^5.x.x","@babel/plugin-proposal-decorators":"^7.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.0.6_1637419360285_0.7879354958951048","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"koatty_validation","version":"1.0.8","keywords":["validation","koatty","thinkKoa"],"author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.0.8","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"4ea624fa274d12dd3819a119bb699f1c52bc32b9","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.0.8.tgz","fileCount":20,"integrity":"sha512-bUJBNwuD8GGwL23c6mJBBXl6KIXz+lAx8TORcfzCzbL+ugStmkybg5RHBfdVxP/bpUmHD5coxVDGjW57NqHx9Q==","signatures":[{"sig":"MEYCIQCDPTJQBEbG0yT+k2MMn39tnAPSaRCeLyYov7sVreU2jQIhAMNnn8c5rtMcBYrgucas+MpwkRTBzgVEeHp17DYC0WKa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1958623,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhnI1ACRA9TVsSAnZWagAAN4cP/AoRqEDRrDlR5N+nM6xa\nuVzKfuR7u/A5mSyuiUrDFYX2uJl45ILcHBMQRFItPdh/pJeg6FNSwyPaGeoF\n5GEG2ZbXC9kzjxljp8PgSI+nRwcg4aOt8V1pSgT8QRB8YT1bYWEfY9u9RKI1\n+NrUnbSNN4szKr3naHcKfIOaDjjYJdLWgaJ0ljhpiQF+/u1W74k1wzr1hm8E\nQaRZKsDhfjSaOTQYebhv1sxNRjTFXwHw7gTTbZpqvHXnF48Vb5cAmySat9ju\nssjf35vrKnhQ1qWoCChO0p/5CCIHsGSs7K5MqdwCM/AYh7/hDFIYSkTm3OD8\nVyj25Iyd7S9rN2B1Lr4IUcxJUWbI1dSRJeUdZ5Jbc4598q69s3vyvhNWQ0Wu\nqKnL73LrUTzbzzgMxsfH8fYhfNLBeFmVPFLiTggyUf/TWHf167xenv4+uOgR\nxTlcGyorZty/K1GAJNlIBv/kIBKn++vqOoaWQU1ds9aWuo+7thY9OzB14G36\nnskMoMVkDUhn0cEhOHIkh3EpY2TBNpJIIERTVU9IMR45Pr2PzzW7DYXtgDP4\nh08/66Ql+nftepsGGts8ptmqzxYfWMWidR3H2ck5Caw3IGFjmRebFfzixGPi\nmV2GBL2hWwe03vNammCZ0xO9lT7JjPCN18KQOXogoaqRivvxqc8oNZEVe9UV\nk9w9\r\n=XdQF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"gitHead":"42dc0bd500e614b5653d22e7138eb967f119c50a","scripts":{"pub":"git push --follow-tags origin && npm publish","test":"npm run eslint && jest --passWithNoTests","build":"del-cli --force dist && tsc","eslint":"eslint --ext .ts,.js ./","release":"npm run prepublishOnly && standard-version","version":"conventional-changelog -p angular -i CHANGELOG.md -s","test:cov":"jest --collectCoverage --detectOpenHandles","prepublishOnly":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"8.1.3","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"14.17.3","dependencies":{"tslib":"^2.3.1","koatty_lib":"^1.x.x","koatty_logger":"^1.x.x","class-validator":"^0.13.2","koatty_container":"^1.x.x","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.x.x","husky":"^7.x.x","eslint":"^8.x.x","del-cli":"^4.x.x","ts-jest":"^27.x.x","ts-node":"^10.x.x","@types/koa":"^2.x.x","typescript":"^4.x.x","@babel/core":"^7.x.x","@types/jest":"^27.x.x","@types/node":"^16.x.x","@commitlint/cli":"^12.x.x","@types/validator":"^13.7.0","standard-version":"^9.x.x","@babel/preset-env":"^7.x.x","eslint-plugin-jest":"^25.x.x","jest-html-reporters":"^2.x.x","@babel/preset-typescript":"^7.x.x","@typescript-eslint/parser":"^5.x.x","conventional-changelog-cli":"^2.x.x","@commitlint/config-conventional":"^15.x.x","@typescript-eslint/eslint-plugin":"^5.x.x","@babel/plugin-proposal-decorators":"^7.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.0.8_1637649727973_0.461661340423108","host":"s3://npm-registry-packages"}},"1.0.10":{"name":"koatty_validation","version":"1.0.10","keywords":["validation","koatty","thinkKoa"],"author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.0.10","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"68c3075f079cfc876a29563ee4e3e98084f3f3ad","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.0.10.tgz","fileCount":23,"integrity":"sha512-jjY5rIAHz4JoYhRvzdILm4FoFCtXnwx6b54bio8vOt6HXC6bqD3fHrTbrWW28j37NumDBMkyH+Um1FjIctKLgQ==","signatures":[{"sig":"MEUCIDymlca7waYwUb3Tw9M78reMdzn1OplNBVUJBFMnlKjaAiEAvsjDYf8lHxT53RTypZ6tZK+kziee5QyUtMhTYLfFbN8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1956537,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhnv9qCRA9TVsSAnZWagAASS4P/AwJt6MPIX2mdYXlfYFf\nJXHGsDV+rNCbY7pI3jt+DVQNb/nFHcOzENRd/hEi2IjWJIJNqgf7pjn+5mgU\n0aBO1yRb179ChAeJWR6YCQa/40JWqr566bIdLCo+/RWBkBWLUsnGUMvmVUcP\nZ9sXSyItqzBEoXjTeKnjw58bU6dbuOJGdfAxiggpxa+3cHT4GJWR4ci1c700\ncJyC94adbIpT0paf0JoVASelEs9PDZpq+Ixd5GnST1IstGetT3WdtoddAuBy\n6BPyowH4/BwUSXU40za6KHddsHrKYWO3RZA5Pb873dO56fLkdwyiYiFLMjnW\nRacLXLQEbhxZt/0FwBgp2Bb2LqUhiF5CphtcGNjnpIZSntAmUnOMSwVMj9+3\nHvy+tjZbiy+F8tXxh4bXTEnrizcY0I53AeK9K4RzdMcgSmlPNPDiP7UelBDl\nZeCP+Ii6I90eQOMnN2fQEH4obqQywkfK7jNR++FHcVofVpuzL/s3GvDAH75W\ncczC+imBk622pnsWJMRlpB+p+cndT4Cz0soiiy3gOjKE4mkhtQRq/lbFmTpv\nImcwiYYzdy4dAzBAxe8vMPKhpBexyp/JbofoMZMvOhN7Ka2GleyZ3maWK1mv\nLUHgwB1mOu/nq74HO/wCZNVay14ALzjKO9M01QHYuUb3/cSAuSIPS7TWr1E5\neuja\r\n=niVZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"gitHead":"54de28ffa99273301b4c984f9e571ae43a1086de","scripts":{"pub":"git push --follow-tags origin && npm publish","test":"npm run eslint && jest --passWithNoTests","build":"del-cli --force dist && tsc","eslint":"eslint --ext .ts,.js ./","release":"npm run prepublishOnly && standard-version","version":"conventional-changelog -p angular -i CHANGELOG.md -s","test:cov":"jest --collectCoverage --detectOpenHandles","prepublishOnly":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"8.1.3","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"14.17.3","dependencies":{"tslib":"^2.3.1","koatty_lib":"^1.x.x","koatty_logger":"^1.x.x","class-validator":"^0.13.2","koatty_container":"^1.x.x","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.x.x","husky":"^7.x.x","eslint":"^8.x.x","del-cli":"^4.x.x","ts-jest":"^27.x.x","ts-node":"^10.x.x","@types/koa":"^2.x.x","typescript":"^4.x.x","@babel/core":"^7.x.x","@types/jest":"^27.x.x","@types/node":"^16.x.x","@commitlint/cli":"^12.x.x","@types/validator":"^13.7.0","standard-version":"^9.x.x","@babel/preset-env":"^7.x.x","eslint-plugin-jest":"^25.x.x","jest-html-reporters":"^2.x.x","@babel/preset-typescript":"^7.x.x","@typescript-eslint/parser":"^5.x.x","conventional-changelog-cli":"^2.x.x","@commitlint/config-conventional":"^15.x.x","@typescript-eslint/eslint-plugin":"^5.x.x","@babel/plugin-proposal-decorators":"^7.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.0.10_1637810026734_0.8401054131393149","host":"s3://npm-registry-packages"}},"1.0.12":{"name":"koatty_validation","version":"1.0.12","keywords":["validation","koatty","thinkKoa"],"author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.0.12","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"bf6169285ed20108ab810a4f01fa911511090fa3","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.0.12.tgz","fileCount":23,"integrity":"sha512-uj8+f8TBNARHm4UTda7hlwxcjg/4Exl5RkWy2IIlL/DdCW2OVo7cGiXJ2AC+/kDKkMqRvH04cYPj0DY3AYgjGw==","signatures":[{"sig":"MEQCIEQjCQjPllYh++IEWMX8TM+rVxhd7D1WzBSZtZRgold3AiALAlBwl9rlxYvqBIBTb0EiFqAaBJUXCbjp4AovnQSeDw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1958540,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwgg5CRA9TVsSAnZWagAAiW8P/3VbhRvkPqNpksC5Ir35\nWLaOjAWjwlSk7esAFCL3WyzOY/oXpH2K3pCC0WVZ78VR7g2/b7G6+SfNBrhq\nw7DWICaQbLT+CUlevj2WcHe0iZMyVA719CfvCMs7L1ZsvG65ffuSMRjXFpSu\n5+cEfN3VyeBJOuogb8r1MHgqbbCbEmUdo/K9iLf/kuKguUcc36CA/b73SQaf\nbQIfm33ffLUK1TvpQTBYpU0FMu60b5lm1Rjncfqk+e/uNFs8/GeOD8R16ANO\nRRk/dM16rdbDonWQr3UCcW2oiv3BGfe1P0RaqtYKJotg+IbjDVHEa/4h5PKt\nNxS95EcdvQyNJqSQ2vGMm938MMbiboSPupy0xpkiWueiwsKEtIFZ5GVIdJ6u\nHb0UDdeZWFj02y+j61LV+yT9I61hyUypiNgNSuTKiET2NiLtyKSXaEOli3lW\nk9+iChbRJDePDV9AwbN+CjbsMy2WQLx06BDoD0JYEYexQZYv2jMfXZ/Ba+GY\nU1+ToqIywnly6CAr0R+Sjm07q8W1WjqpPmCIHOwa+8mfJwwsF/FHWcsH3gH8\nH1Ipqz0gEnUchRos5jTEQnJuH0YZ9941Y2g5H8SvN3iR3HDUxf/xNGfwqqDF\nPuf8zROZ9F3TAziVKTsM+1rwbgLcMUiK2ifPC40yHZWp25ecq3LzncvRPfqK\nN5vu\r\n=QgkB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"gitHead":"dc41883907ddaf7002619fe073a5f2e94265e0de","scripts":{"pub":"git push --follow-tags origin && npm publish","test":"npm run eslint && jest --passWithNoTests","build":"del-cli --force dist && tsc","eslint":"eslint --ext .ts,.js ./","release":"npm run prepublishOnly && standard-version","version":"conventional-changelog -p angular -i CHANGELOG.md -s","test:cov":"jest --collectCoverage --detectOpenHandles","prepublishOnly":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"8.1.0","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"tslib":"^2.3.1","koatty_lib":"^1.x.x","koatty_logger":"^1.x.x","class-validator":"^0.13.2","koatty_container":"^1.x.x","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.x.x","husky":"^7.x.x","eslint":"^8.x.x","del-cli":"^4.x.x","ts-jest":"^27.x.x","ts-node":"^10.x.x","@types/koa":"^2.x.x","typescript":"^4.x.x","@babel/core":"^7.x.x","@types/jest":"^27.x.x","@types/node":"^16.x.x","@commitlint/cli":"^12.x.x","@types/validator":"^13.7.0","standard-version":"^9.x.x","@babel/preset-env":"^7.x.x","eslint-plugin-jest":"^25.x.x","jest-html-reporters":"^2.x.x","@babel/preset-typescript":"^7.x.x","@typescript-eslint/parser":"^5.x.x","conventional-changelog-cli":"^2.x.x","@commitlint/config-conventional":"^15.x.x","@typescript-eslint/eslint-plugin":"^5.x.x","@babel/plugin-proposal-decorators":"^7.x.x"},"peerDependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^1.x.x","koatty_container":"^1.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.0.12_1640106040904_0.0065293811832047854","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"koatty_validation","version":"1.1.0","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.1.0","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"2cd8c187cc413bd354a79786a570282aa1b13f51","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.1.0.tgz","fileCount":12,"integrity":"sha512-2oRlcvruPJChLrX42+MXH2FaIozvCkiBHztn1fOhigYRU9jhWRD3JvudZywEurJO7kqZedRWWKMAj6u/p0T80Q==","signatures":[{"sig":"MEYCIQDmD5l260868xkvQxqOt/9BIvW30e4G7zZNBd1ORv6EvgIhAJ7o17NQmfpPBQ3Ardy9mhKOp0c8j5+NsSYYncyJh2qJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1843685,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiDNKkCRA9TVsSAnZWagAAipYP/18umV7oEHkiNwmRPlp/\nwmtfESpM4zKhCTouy776GX63sgI/gUsyJcnoY++g145HKVV+vZKuqBeH/ZWX\n/xxpdBtXHNOMHKYc048755bRHQ9TVL67JbDz5FFDBdoLFbxsuPpsZaSaZWT4\nuu1iykdW9ire/e7fihV22GZWpwZ2Ot2x7HMgl0VYQE6Hs9BMIVo7ccf1PrY/\ntRVz9+aHZRvk4GLSoW7O8EyS+miKZiPwYhL+FGbu2Lt2gRlGX59VEgRCBE1a\n4GglxqCyDSTlqDxitUfn8tAlaH9m+0YsggNTfwgji09DhLeKAG73+8pkutUO\n7y1U9mnBRoz/T2dphC0j+2OKoRu2PUzf7igHGzsqX3zDqvdmito4LrVgzxW5\nIh0IZAY4z6+2w5NlxqmuPVg3ry/rm1MHCyuzk97J3Sp2FLihu1CsJDg8j5HJ\nC9D3gjsC5TgBShkxhFPzKmOgbJ3RQEInDW0n02D9GOiw67Rf54DlHpJyCTYG\nVV2hUQNvjsZCJDBZuFI1S0bfMDt4XH+Z7PFGrVXFE0sR7nueBmwAfambpKQS\nWG6UbW1icx2hz96KP9qMoKivqUvbkWW5qvCCYLB2Mnlxi/pzdctvFPKiWyGL\nCBwK83ZrPRJ/PT0fYtLtldmSzHEw5PRBQOpGAB5rUKzMCsfQ8c1zolKzFfim\nhPh/\r\n=HS5V\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"gitHead":"137769e9b8279bf41d53916295b549bf29ea5310","scripts":{"pub":"git push --follow-tags origin && npm publish","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","release":"standard-version","version":"conventional-changelog -p angular -i CHANGELOG.md -s","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup -c","test:cov":"jest --collectCoverage --detectOpenHandles","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"del-cli --force temp && npx tsc && npx api-extractor run --local --verbose","prerelease":"npm test && npm run build","release:pre":"npm run release -- --prerelease","release:major":"npm run release -- --release-as major","release:minor":"npm run release -- --release-as minor","prepublishOnly":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"8.5.0","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"tslib":"^2.3.1","koatty_lib":"^1.x.x","koatty_logger":"^1.x.x","class-validator":"^0.13.2","koatty_container":"^1.x.x","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.x.x","husky":"^7.x.x","eslint":"^8.x.x","rollup":"^2.x.x","del-cli":"^4.x.x","ts-jest":"^27.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","commitlint":"^15.x.x","typescript":"^4.x.x","@types/jest":"^27.x.x","@types/node":"^16.x.x","@types/validator":"^13.x.x","standard-version":"^9.x.x","eslint-plugin-jest":"^25.x.x","@rollup/plugin-json":"^4.x.x","jest-html-reporters":"^2.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^5.x.x","commitlint-config-gitmoji":"^2.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^2.x.x","@typescript-eslint/eslint-plugin":"^5.x.x"},"peerDependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^1.x.x","koatty_container":"^1.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.1.0_1645007523921_0.5213687075195221","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"koatty_validation","version":"1.2.0","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.2.0","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"386e8e3b120e189968372aa6ea019126f9c62441","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.2.0.tgz","fileCount":13,"integrity":"sha512-ssWtC0/j9dmomoQoenkznj8XfNGMsF05qOPN/faH9Xo16Z6f0zmoEz3phxTF3eRsfrRJxr9i3OHQgCgMQMwDww==","signatures":[{"sig":"MEUCICHCQ+oiTM6iKtEgeXb02xUnNj+0QAwVzcWdogheg1ryAiEA5mGTtLIfQjLVvkrpMCWndADAKTo1khsqihbgCj69Dh4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1853501,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiGDe5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrlSA/+I8cUyH5nY18VOOFWmtCZiF1bh97z/MUbT8B39vfjmMfFD9Zc\r\nuum2ZN1n6PYI1fx8KLw0/M0JCaiNPJj5jJPAJGrHgf/jhzzHku1bdKLzGK/z\r\n1WE2C5ywYh7ciPHHnEdkqgVBLhyhC1dupHYomlsHz8ZKeTTzB4XGgUZQSME6\r\nqPIinEyiVk9g5ASMnAUU8E24dKpw50CiGsQqu6vV4EpRkzNI4vRyTrsrcN9K\r\nWT7yXaKtCTX7+ftC2Q0763FyDew2acG0DyM52Rm+vGeK8TdGefLxNisI8Rep\r\ngXkUrsX8m5WHOkQC5jx2kTn0H8hhxB0YxIR9qW0/sN6LdbOErIo4q2Fc8Zyq\r\nLnIj2Mc3e/4qkghm+uMJGGa/DRPczZVgLUUuRiGClDmiReellYdkTPLhmRFk\r\nrcTvzNbjDLdPwk+gbs6p2eZJ7Sklo2gZHJTtKPQU9ciMZs33TBSynlpMaSLl\r\n06rcJCojESbm30JQkQN5gU8gWwC1mqzNhk2mpWF1fTYg5NJOd5CY5I+QYWeZ\r\njmFFBwdXF53CsXjTkhA2so7c76E1+4oVwvVEUdhk2l+M8n0N+ky16xUUO8ro\r\nPHMCeXScrIwwHK0jnucXYMRwCBXdTObbY0voa5InjeJ38SJ2WOLpwp42LSdv\r\n02obyvXMGHde77G1zj/7ioDG8YADMVBJMTQ=\r\n=u4t7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"gitHead":"309bc3411870215fd6266849afaee5f04b117375","scripts":{"pub":"git push --follow-tags origin && npm publish","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","release":"standard-version","version":"conventional-changelog -p angular -i CHANGELOG.md -s","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup -c","test:cov":"jest --collectCoverage --detectOpenHandles","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"del-cli --force temp && npx tsc && npx api-extractor run --local --verbose","prerelease":"npm test && npm run build","release:pre":"npm run release -- --prerelease","release:major":"npm run release -- --release-as major","release:minor":"npm run release -- --release-as minor","prepublishOnly":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"8.5.0","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"tslib":"^2.3.1","koatty_lib":"^1.x.x","koatty_logger":"^1.x.x","class-validator":"^0.13.2","koatty_container":"^1.x.x","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.x.x","husky":"^7.x.x","eslint":"^8.x.x","rollup":"^2.x.x","del-cli":"^4.x.x","ts-jest":"^27.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","commitlint":"^15.x.x","typescript":"^4.x.x","@types/jest":"^27.x.x","@types/node":"^16.x.x","@types/validator":"^13.x.x","standard-version":"^9.x.x","eslint-plugin-jest":"^25.x.x","@rollup/plugin-json":"^4.x.x","jest-html-reporters":"^2.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^5.x.x","commitlint-config-gitmoji":"^2.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^2.x.x","@typescript-eslint/eslint-plugin":"^5.x.x"},"peerDependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^1.x.x","koatty_container":"^1.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.2.0_1645754297002_0.7265179902897481","host":"s3://npm-registry-packages"}},"1.2.2":{"name":"koatty_validation","version":"1.2.2","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.2.2","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"e001d563c946bb0148d6cce8f48e6d3a06d8b666","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.2.2.tgz","fileCount":13,"integrity":"sha512-9qiw9SqgXTw+q8Wa1xGY8qOUmmCZEStnM7LKIikua10qhl/aFOs6BeMytQf0eH6wh+PQ3MSoaUBpBqzm7lPWFg==","signatures":[{"sig":"MEYCIQDxhC6KK1dVO2iT5j/GLOyrpwQ42qb7IQ2HsVOMrgZ1ggIhAJCJEutPnFcFuv+lg6mz8Dxwj4d2aHkC8da1sPqOpkP8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1853237,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiGEX+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoJuBAAmwVXtEhSG4sjo5QKW2VMHb10Wf5sLwWds03qzaAaqYwUhV3f\r\nrENLPnwg9nWILqUwSgif+rwxR0wxcRzmpBKbb27rixJGkTH5JlegzvE8pseP\r\n9ZdiP6Z26thWhdhgJptVIln4HBCw8aYKlPkEt+NpUSYEjbNWCwXLhjPUZqvl\r\nSMgCYtJB440+Y6DRR2n8m81c4K50iwAO4bjV0nLTXvg3MsSDsyNrLxjHb5Vc\r\nAZQnzqVfWqvWgfFPWoIhHDZu2cxl/fjiWRu13EX/Rjm3D+V6pd4Dvm/sIhbj\r\nJeXtChriqfpAP+gEb0M41BBAOhfFTst6K0spOaxNfhDhgtTBvHueQgR0Rnnq\r\nKF3EXr1TXZmPMdvU4f8mJr04ZU5MowBaRCENgadDgsGhamPOf1bHSCjVLthp\r\nvOAcbJK3wWbdyLwO3orOvdB2dWK6FjR5z+q5r0AuypelNSCgWvIHJP69Tpfk\r\nswBovT+1FXk6oZR5+efM/U5Ni6uIu+J/oGdijsJIw03UZrH6eYoAHHGCbCKM\r\nNfvfEsg79N+rhDVwV8XxMXU12ujdePTo4hNWtn1Xp2Miu0GRYe9JTMsI/zrB\r\ng7tzevTd1sYts+Ok+/KcygENc0qMrTJYJB/d3sPmUY7LRW3dTczQxv0V8n3K\r\naQoojCUIneTu8P0zSAOVjRr4334GmVr5qtI=\r\n=uyVo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"gitHead":"5fee3de5d1844fcccc79fe513962e7f4cbc00d73","scripts":{"pub":"git push --follow-tags origin && npm publish","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","release":"standard-version","version":"conventional-changelog -p angular -i CHANGELOG.md -s","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup -c","test:cov":"jest --collectCoverage --detectOpenHandles","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"del-cli --force temp && npx tsc && npx api-extractor run --local --verbose","prerelease":"npm test && npm run build","release:pre":"npm run release -- --prerelease","release:major":"npm run release -- --release-as major","release:minor":"npm run release -- --release-as minor","prepublishOnly":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"8.5.0","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"tslib":"^2.3.1","koatty_lib":"^1.x.x","koatty_logger":"^1.x.x","class-validator":"^0.13.2","koatty_container":"^1.x.x","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.x.x","husky":"^7.x.x","eslint":"^8.x.x","rollup":"^2.x.x","del-cli":"^4.x.x","ts-jest":"^27.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","commitlint":"^15.x.x","typescript":"^4.x.x","@types/jest":"^27.x.x","@types/node":"^16.x.x","@types/validator":"^13.x.x","standard-version":"^9.x.x","eslint-plugin-jest":"^25.x.x","@rollup/plugin-json":"^4.x.x","jest-html-reporters":"^2.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^5.x.x","commitlint-config-gitmoji":"^2.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^2.x.x","@typescript-eslint/eslint-plugin":"^5.x.x"},"peerDependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^1.x.x","koatty_container":"^1.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.2.2_1645757950397_0.2605314842787605","host":"s3://npm-registry-packages"}},"1.2.3":{"name":"koatty_validation","version":"1.2.3","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.2.3","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"79446601e3c8a66f2596ff9bd7caef0068727b42","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.2.3.tgz","fileCount":13,"integrity":"sha512-MhlvbaUc5WDWd13My46L9neE0oTruD8SuqO1Lc7tLTj1Ri68GgH8Q2hapIkyYG+l9n8mhWJAgGEFJ4DEQGyFSw==","signatures":[{"sig":"MEQCIDdE05N/C3vQlX8tPLUfjdsSpckTWofjlJDEVWnPboDNAiAC9BG5aI7qsrjRy2dPud/rBv/HMrduc/GgO3josXznyg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1853420,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKIB+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrOFQ/8CTk23ZnkvbMtu3p4xRQYksHMeh1NMo0w2JX0jSzC/qeiOPeL\r\nuk9hTHbnJzfTp7ipGYtyiJ+K7Fx7fiKyucBnifHde1qVFNht3AFIii79b7i/\r\nas9w3mV9VS7ZP88BCbiaeJuPrEQRROvogP6znS3u4rCfyC2q9Te8ALZGiMVU\r\nURaPl9W9nrhO8CXZ0Tb6fkX6RyqEQQlJEpytxs4onZ+7m+DIDm66UlABd4Nb\r\n9HICj/mOMYhAnZsi3sXIKTeCPYQDx3FxoYHFgPet948Do3HrMZgCmunB7sjE\r\nI8URz84mFXtf3y3/6U2Xnp4qsUQq4H86vIJfDZNRrgCusmUMjOk8pjI+Yuth\r\niqIZqsLipuhppknG62Gu1deJNMfaxd6Pujlg2YCT/2hi/HTr/v0hEBaYMaPT\r\nwqJZpV/H2vXR3eFqfgHyw8m1wo6glQ5yu4sWkGVWstqrBFrl9XsYTulTnXjO\r\nDQ/xFPZIcaVaQiNe1LidSCkbvL1itVr/xVs8hIpMcp6mg/RiYr4E/uGgozRG\r\n+uXQA+BACYaU19jXIcf5j74zooDpE/tosSgbsTd4EZjGPzV/jBymQInTHKM6\r\nQ/3DisFW1NF8PsupW6FTfar+F1GuwAD9NWuXil4pTgw/9HsY20mI0PmQGHqg\r\nw7r/WALXsa7T2a2zGZyAOL3WiUB7x97C6dc=\r\n=QbZK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"gitHead":"1877088767f6cb11925747c69354c7e41264292c","scripts":{"pub":"git push --follow-tags origin && npm publish","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","release":"standard-version","version":"conventional-changelog -p angular -i CHANGELOG.md -s","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup -c","test:cov":"jest --collectCoverage --detectOpenHandles","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"del-cli --force temp && npx tsc && npx api-extractor run --local --verbose","prerelease":"npm test && npm run build","release:pre":"npm run release -- --prerelease","release:major":"npm run release -- --release-as major","release:minor":"npm run release -- --release-as minor","prepublishOnly":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"8.5.0","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"tslib":"^2.3.1","koatty_lib":"^1.x.x","koatty_logger":"^1.x.x","class-validator":"^0.13.2","koatty_container":"^1.x.x","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.x.x","husky":"^7.x.x","eslint":"^8.x.x","rollup":"^2.x.x","del-cli":"^4.x.x","ts-jest":"^27.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","commitlint":"^15.x.x","typescript":"^4.x.x","@types/jest":"^27.x.x","@types/node":"^16.x.x","@types/validator":"^13.x.x","standard-version":"^9.x.x","eslint-plugin-jest":"^25.x.x","@rollup/plugin-json":"^4.x.x","jest-html-reporters":"^2.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^5.x.x","commitlint-config-gitmoji":"^2.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^2.x.x","@typescript-eslint/eslint-plugin":"^5.x.x"},"peerDependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^1.x.x","koatty_container":"^1.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.2.3_1646821502179_0.41620404749921214","host":"s3://npm-registry-packages"}},"1.2.4":{"name":"koatty_validation","version":"1.2.4","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.2.4","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"941f0b324f9f0adc4cc091c744a739e23ddb3cc8","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.2.4.tgz","fileCount":12,"integrity":"sha512-Xl62p93u0SjLXnAPbpXw8i5e6hHFD2Fy5ZIOP2BId8wsbEs3FAYTuNykVVQ+9QNbAPy2yu4G8jGGJc+jUdMJJw==","signatures":[{"sig":"MEQCIBf7Gl/uvJp0n56d+i+JcMp41cFhh3qbNsW8wFpVvtv1AiBGu+tchy8XOobKUy+T9jPrAsVhfOE6XH2DTF7cnrFzlQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113537,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJikC+RACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqVlg//ZhF4J04Vp6evS68z3skQjzCXze9BwiP/qz978sdLJ9SI5NZf\r\nFmvTAb7nwiT67I3IQFh9g/+rl8nK+N1kdNPg38Vyj4tS27Xn3Vem2ga4a/TP\r\nNG/4Ur/zNwwhYzeix+cEIU81iguw+1m1p/KowUpYZgB0mp10TZ4XkcFYUMlW\r\nbNN1ZVLNNRfNTy1iFdInYRlkLS3hxkKvirfbeTFx5u42Z8xYGyOhMGmFbCn+\r\n2wwDRl4YoxyCH1VgYUt1S8NR6RyBIpKs3cn8RSOFqkVzaTMPUqmzVUAtDLUn\r\nVY/gxw6ZNbiIc6ZmuYdThEtQMllARuK3bJuo/25yAVUYy5ynKKKOz8zVvUQq\r\n93ogGi3pnDzItEaS0oMeCmuDvGl0dkNm39QURkmpXlx/sVVu00JL2JPxlBne\r\nUVY+3YNaGHdOb6qSnkJj92T90wv0bqy9cDPH2pE7r016f2eZO684kH2JXeA0\r\nNiETKei3SFC+OMGkwn4GcWjY5NXSNvGY+WGhjp5ALGmJBjfYxOJrn7r2tgRh\r\noOL9NacX19WmteNnd/DQ5ToG1NuEHDsvbwLX4nonqh6SC9SFPcIoGkAr5VXW\r\nKQD/mQ7ZuYuqJNZLBxYFQcSSZPXsteCxgENZn9Tp/AwugUQvc8Y3D+MFB/nn\r\nEGG7Kzco/mB3seCWalZoDVUU39TUN1FqBHk=\r\n=wD+e\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"gitHead":"5df448624d9c37d725c50f1e0ba2bfc234079e5e","scripts":{"test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","release":"standard-version","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup -c .rollup.config.js","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"del-cli --force temp && npx tsc && npx api-extractor run --local --verbose","prerelease":"npm test && npm run build","prepublishOnly":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"8.5.0","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"tslib":"^2.4.0","koatty_lib":"^1.x.x","koatty_logger":"^1.x.x","class-validator":"^0.13.2","koatty_container":"^1.x.x","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.x.x","husky":"^4.x.x","eslint":"^8.x.x","rollup":"^2.x.x","del-cli":"^4.x.x","ts-jest":"^28.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","typescript":"^4.x.x","@types/jest":"^27.x.x","@types/node":"^16.x.x","@commitlint/cli":"^17.x.x","@types/validator":"^13.7.2","standard-version":"^9.x.x","eslint-plugin-jest":"^26.x.x","@rollup/plugin-json":"^4.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^5.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^2.x.x","@commitlint/config-conventional":"^17.x.x","@typescript-eslint/eslint-plugin":"^5.x.x"},"peerDependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^1.x.x","koatty_container":"^1.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.2.4_1653616528961_0.40507050697475844","host":"s3://npm-registry-packages"}},"1.2.5":{"name":"koatty_validation","version":"1.2.5","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.2.5","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"359d0ee2bc92841e6796ed96bdf209c66fb87967","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.2.5.tgz","fileCount":12,"integrity":"sha512-6R+gbch4VXM7tO9IglUq+XAHNrnyO8QPrMK4izD1PaEakO99+IUhhfl5eRO71RGaUFejy1ncz9IaI8x+x/Xmeg==","signatures":[{"sig":"MEUCIQDP/vAMYZbqIAEXGqPQFhTs2GtMmRUQ9tuhW+89opLlewIgYYCcw2ph235yOWjyW361unbvaLRsUuAEdjwyO2Vo0S4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/yy4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqfzw/8DbGCLUzAfYMug1gy5JY/sNXJxt0GqXIs6Ny5lEfQ6RE+/6Nj\r\nv5VHG7t/OXuMCtHKoEaCrFnLxc5pjlwUcBShCTJVPW7RgjuBj3dd2EpnVltO\r\n8qVzvh9u6ta9l/W8EKJYOEkfBEteBnszFt7TpRN+M2RVtH5Azl9RBWPgBEQy\r\ne8RfwyOT10Ug7faz73dV3p6nlyBQkUIUnv0pMtToODg6oGWYC5Nqv9lH+upF\r\n3iCAjmnflYXqUKaqmkI9A8MA2HFMxXN8e3v7i/aPWmqUsGh2ZeLf27a48fPY\r\nLgwXbgvdlsd52wvp6AgpCG1E57i437R7JJ/EbawDRChp7rHPyxE1cgJPdWth\r\ndiFrglEJ8vUxo9O6NoNl9VvZPTn/jq7TGehOzbcQE+yWG1zgPRC6VPxLVLCn\r\n0yD3hQh3QbHFDQuoLRAN8Y9pmsxnenSg6N+lDJkUZyDphe/C0yHAdnPtYhoC\r\n+gQJOqwaE8a8JZPuojf/fkMR0F6uysSEV9YhjLn1djCQYWztHKNGRNQcGC0x\r\n5+0gqVvMIlUTFrPV+RY7VtJ0d758JFVu7ofGQAbGtfuxroFdTnItPmYWfR9M\r\nilS0X8bhqN5llGHhhI8X+pTiQ8eb+LPWBgJbGCe/MBiYad3Sjt0oWpnj5sxi\r\njRJMSudYOF0pWOoWFrEfWilJfmee9DwJQzw=\r\n=kFpv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"gitHead":"6f36b0cc5850959ea3964754d7bca972ccbb2930","scripts":{"test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","release":"standard-version","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup -c .rollup.config.js","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"del-cli --force temp && npx tsc && npx api-extractor run --local --verbose","prerelease":"npm test && npm run build","prepublishOnly":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"8.5.0","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"tslib":"^2.4.0","koatty_lib":"^1.x.x","koatty_logger":"^1.x.x","class-validator":"^0.13.2","koatty_container":"^1.x.x","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.x.x","husky":"^4.x.x","eslint":"^8.x.x","rollup":"^2.x.x","del-cli":"^4.x.x","ts-jest":"^28.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","typescript":"^4.x.x","@types/jest":"^27.x.x","@types/node":"^16.x.x","@commitlint/cli":"^17.x.x","@types/validator":"^13.7.2","standard-version":"^9.x.x","eslint-plugin-jest":"^26.x.x","@rollup/plugin-json":"^4.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^5.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^2.x.x","@commitlint/config-conventional":"^17.x.x","@typescript-eslint/eslint-plugin":"^5.x.x"},"peerDependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^1.x.x","koatty_container":"^1.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.2.5_1660890296563_0.6859740081739709","host":"s3://npm-registry-packages"}},"1.2.6":{"name":"koatty_validation","version":"1.2.6","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.2.6","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"f52ca88f29d3b83d744278e74a854d836f44d726","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.2.6.tgz","fileCount":12,"integrity":"sha512-kCObT37m5kuQ3g7+VN3coMXtPOgByYtWVSzDICKMb+VdEgqcX3x7NX0UbGHpRU99TeUUKkhvF0TBUhg020lY+A==","signatures":[{"sig":"MEUCIQCandPcRB9EYE2j4j0OsI773YS4En0t8k1dsHo/6Qw5WgIgHl+WeFSkL0xhAUdQQpb+rPHnhs95xkhxIlq8g0OmP/k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvEDPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqB/g/+MOTFsA5YAEsH5c7CBZ1fRJ6Yg7mEIfxoD62lBfoQBHCFXg+8\r\nuNr87CnnGv5zxkEXvofbFb16i3QQUVcesRbg0Nd2jtQcFKjVC8QXfWhGUXTM\r\np9NXe/rSogqnPbiIE6JzaJoF7PRVP9LyC+EeLT0DO33ZkyzLOzZsR/I0bkEe\r\nwaQ7NwPQyd+O87pDq4f0fEKByIYBSi1JP+j887RiAut70hv66e8ScebCiKjQ\r\n9hLClAm7VUkHhBWu7ZyoudAxwvYwKzNaOpb3eJQFbGLxpDa4oGXDHHBw8COK\r\nQkbG1Twf0k0xXbgzi85+XAb8OSxng+rEaSwWsfQl0WlVo3J119AjitycZLqh\r\n5oR9CSej6N9CAbUBAV4hnx31jhIvCppjfCFOx2Uw3eh4PfXB9EJtryZPHet1\r\nblteO1Kw1sTeoMGzH791ceqMO/kijhdNuBDZLHGWbMSv2IqRLU6QVb5fjF3T\r\nifUJNpbNPMCU8etgO6Xv4Dp2P0ikujyyF2nxBSavE4IoTU4wzX9X2ba61PBO\r\nMvdnYfyAkt/GE50D5hnqOnNpI2MKQI0HSCPp8R7vgcJzmO5Upkw3/Xp/TFOu\r\n/juAetlmpZluI3k9BmfKNM2oXr26gSji7X0ll0hL6nynkAyOpAdWpj7pMxXH\r\n6GpkveXHRc95wgxkiY2JVSsIXLDK62I7s1Y=\r\n=i3Go\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"gitHead":"ca82c14b0a2226024fb2c4476ba7353be7a2f65a","scripts":{"pub":"git push --follow-tags origin && npm publish","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","release":"standard-version","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup -c .rollup.config.js","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"del-cli --force temp && npx tsc && npx api-extractor run --local --verbose","prerelease":"npm test && npm run build","prepublishOnly":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"9.2.0","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"tslib":"^2.4.1","koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","class-validator":"^0.14.0","koatty_container":"^1.x.x","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.x.x","husky":"^4.x.x","eslint":"^8.x.x","rollup":"^2.x.x","del-cli":"^4.x.x","ts-jest":"^28.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","typescript":"^4.x.x","@types/jest":"^27.x.x","@types/node":"^16.x.x","@commitlint/cli":"^17.x.x","@types/validator":"^13.7.2","standard-version":"^9.x.x","eslint-plugin-jest":"^26.x.x","@rollup/plugin-json":"^4.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^5.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^2.x.x","@commitlint/config-conventional":"^17.x.x","@typescript-eslint/eslint-plugin":"^5.x.x"},"peerDependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","koatty_container":"^1.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.2.6_1673281743033_0.7472844121403763","host":"s3://npm-registry-packages"}},"1.2.7":{"name":"koatty_validation","version":"1.2.7","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.2.7","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"3883f1d9a28006a27ddc7f4ae5749c7be3698714","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.2.7.tgz","fileCount":12,"integrity":"sha512-MuSioQHSxZOfyt6g+vQ6TldzfbPxhePl/4+tFbdxvgMkyRoTq8CQyCIpM8wqDIUgBStAXWuzkJp2yKMdeV6tJw==","signatures":[{"sig":"MEQCIHItaGssAPwru2Pcm7tTMJf3448685gqXWcy8W48xpCEAiBCI0PabYEpK5AroHmkC8L/Di5MRBL6UlDwgL5+IJd9IQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113509,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7vWIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrnPQ/+Nb7Bsiry4GQ34m9juCIgH2Q8LT7EKmfXoRsbl1reC1BFSCp1\r\nwVKUr2vOMmF8TznZaYn9NtKHd8NhWQ85JbgZMaZFjzUfTzkJ0+LKrvZ9snAy\r\n8QLRREYCdopbpGpkAAcidayPWPnlvnxbHEwuLHQ7yoqm09veJTgMwdoK38R/\r\nxPoKNOFCuVX5lSrkRR7k/zLuBqiWsDwQ/axL+IMLeh4XLaMolcyLzHhdZQ+s\r\nxw99DirzSopjWTSQCAtq/D4AqA2Gfvj6/kKG6mh6NA60x1hsVcnYU4NkfBHd\r\nRyNSnFlzISCsaneac09Mxqkx9wn+2n5bFR3z4MKcuuZ/xzSzfPQjyrKb/IgQ\r\nHh6MJGRd+YjHFlaTWQrADKrH7Be29bekQWJhXLnukSb9cJR4aMITDs0ygjCD\r\nbdK1iJ8x7TQYM/WmLV8Sdr/v4Vwy2Gcb9HeyuHmvgNoKPP/G7nQJYCpuFryE\r\njAUu7yUtGhP9w8By69tVFu9J0pYejncayiK1jeklDaL5kiEPM+oKxgccNFLt\r\n23ITu7MbWRG1Vn1I1ORDV5p71Fl/PyytG0raqwzCxqYC7sI3SNjm7qVlZIsv\r\nT6qQWJ/0z7fcd52YwwvvTleB2M1g0bipqAp9+Sf1DR5LqocV6O5Z/BQVp78c\r\nFCDWxY1KxPjdaY1lQpawOvJIkmowU0shx7g=\r\n=2SCn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"gitHead":"c958527d156cda0e9dbb2e3676ed94e8ef5072c5","scripts":{"pub":"git push --follow-tags origin && npm publish","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","release":"standard-version","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup -c .rollup.config.js","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"del-cli --force temp && npx tsc && npx api-extractor run --local --verbose","prerelease":"npm test && npm run build","prepublishOnly":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"9.2.0","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"tslib":"^2.5.0","koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","class-validator":"^0.14.0","koatty_container":"^1.x.x","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.x.x","husky":"^4.x.x","eslint":"^8.x.x","rollup":"^2.x.x","del-cli":"^4.x.x","ts-jest":"^28.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","typescript":"^4.x.x","@types/jest":"^27.x.x","@types/node":"^18.x.x","@commitlint/cli":"^17.x.x","@types/validator":"^13.7.2","standard-version":"^9.x.x","eslint-plugin-jest":"^26.x.x","@rollup/plugin-json":"^4.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^5.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^2.x.x","@commitlint/config-conventional":"^17.x.x","@typescript-eslint/eslint-plugin":"^5.x.x"},"peerDependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","koatty_container":"^1.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.2.7_1676604807762_0.8104240612611335","host":"s3://npm-registry-packages"}},"1.2.8":{"name":"koatty_validation","version":"1.2.8","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.2.8","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"845f86d6ff1730f8905a7746fe964e3bca446842","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.2.8.tgz","fileCount":12,"integrity":"sha512-e9JhfstzlmqMcT+abUF0k2Zf497UX9zTnXwdlVKLjiraexcw5LnrjnJ7grXPy7F7W4F15/O/j1wYQFFSACHV/g==","signatures":[{"sig":"MEUCIQDvO+XAXAL2+ZxHZf7qB8Qr+EdZc4earTOFOcHdxsXIFwIgIdAT7b6SrVxbIlEiA210yFovSIF7mrpDFcD/Tx7I+ko=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113879,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7x3VACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmphxQ/8COGQWGIzcF6KB7CYEuixsutVCqJBZyTt02Q2TSYqNlQzAzKY\r\n1wW5ER7br6NkIvWdZAvFJ0Z2Vjo1uqBm85OvKvV0XsvdxVx3Bn5c4H5ryZAp\r\n9TEOa2p25LvNSqS4/JcnVoZXherVe5Gz6RL+r4rczXe5TBOxPHlDLQiHBND7\r\na0TRp6tG/5CRAZ8c1mYoe7/5pjU+FVvLXT0jDS9suNr48VmtcVRZCPGC6lIh\r\nkKVdBJe2F0z1rZQTzQNyxMVeghOAN5Z39v3SEEyl1x4wN0KgOySJzWBmvGwh\r\nL3hej9nYvfT6YHUI1LDjyoD+ZXcnZaj14U44AW0+Hy3sZGEhAFa4DRGW/Lof\r\nQEXwEE+04ow+iuUXID71jFlRw+8AZuvJgkSsbW3RZIm4CfZw/agNn/wGDo+8\r\namjYaZCWsDywEWabolaCycomRYpQATRz8sboW1SXVMJhkbSd0keldSPwCmvN\r\nh/eLb0YpgcMq1CiISZuZMRciTJAbYBL8OKdovE0Ri2DqEIkjKKYVS1opf94V\r\nSocg1iRe3nW0NgahvYHUBmOjeimZMWwTqM1iKrFWGgulpYFQHVngKW04mUMR\r\nhxzedZhoZnsAeoeNEV9Ky+FN2HYOII2YF3b8qpbkC4mNFxIClAgdew9Me6z5\r\nTH0UFV3xiWEKx1w7Glni12CV6xd/YpC7ieA=\r\n=gmO5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"gitHead":"c4c9cdd9bfbbcdcbb2ff672192fca9c2eb537bd3","scripts":{"pub":"git push --follow-tags origin && npm publish","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","release":"standard-version","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup -c .rollup.config.js","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"del-cli --force temp && npx tsc && npx api-extractor run --local --verbose","prerelease":"npm test && npm run build","prepublishOnly":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"9.2.0","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"tslib":"^2.5.0","koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","class-validator":"^0.14.0","koatty_container":"^1.x.x","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.x.x","husky":"^4.x.x","eslint":"^8.x.x","rollup":"^2.x.x","del-cli":"^4.x.x","ts-jest":"^28.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","typescript":"^4.x.x","@types/jest":"^27.x.x","@types/node":"^18.x.x","@commitlint/cli":"^17.x.x","@types/validator":"^13.7.2","standard-version":"^9.x.x","eslint-plugin-jest":"^26.x.x","@rollup/plugin-json":"^4.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^5.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^2.x.x","@commitlint/config-conventional":"^17.x.x","@typescript-eslint/eslint-plugin":"^5.x.x"},"peerDependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","koatty_container":"^1.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.2.8_1676615125702_0.8201063399523563","host":"s3://npm-registry-packages"}},"1.2.9":{"name":"koatty_validation","version":"1.2.9","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.2.9","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"21da2c041288be7e99472b8d97e80bf92a7682df","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.2.9.tgz","fileCount":12,"integrity":"sha512-zFLPc3gIBeURXZ0oDhJetJLRMs735HV93A7vZovnwyZYbLgn9gV1PKsEvqHvJ67Q4WWVylBC2tuMeWlbwsWFsw==","signatures":[{"sig":"MEUCIQCd82S3WawtKNeVjypX80WSfpkW/sA8unhYui1r6UyXSwIgPEeUEDpJ7XsawhNQkxc0q+79nfddwGyJoF6XswPE0eI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116432},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"gitHead":"336572003d2c63ed9b76b8b8d8a9295ecbda77c6","scripts":{"pub":"git push --follow-tags origin && npm publish","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","release":"standard-version","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup -c .rollup.config.js","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"del-cli --force temp && npx tsc && npx api-extractor run --local --verbose","prerelease":"npm test && npm run build","prepublishOnly":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"9.2.0","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"tslib":"^2.6.2","koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","class-validator":"^0.14.0","koatty_container":"^1.x.x","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.x.x","husky":"^4.x.x","eslint":"^8.x.x","rollup":"^2.x.x","del-cli":"^4.x.x","ts-jest":"^28.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","typescript":"^4.x.x","@types/jest":"^27.x.x","@types/node":"^18.x.x","@commitlint/cli":"^17.x.x","@types/validator":"^13.7.2","standard-version":"^9.x.x","eslint-plugin-jest":"^26.x.x","@rollup/plugin-json":"^4.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^5.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^2.x.x","@commitlint/config-conventional":"^17.x.x","@typescript-eslint/eslint-plugin":"^5.x.x"},"peerDependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","koatty_container":"^1.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.2.9_1693540519904_0.7417335128104192","host":"s3://npm-registry-packages"}},"1.2.10":{"name":"koatty_validation","version":"1.2.10","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.2.10","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"8ec5c835760383d4b709193086a9c1c9e7549ea3","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.2.10.tgz","fileCount":12,"integrity":"sha512-sGaOmIIj1PXmeuk8RqPSYH1f7z6/9A6DgVkI5DluvhG5v90LAOl8JQLLmqiQTbC/N5OrAv0IbGpcRfXAqIdu7g==","signatures":[{"sig":"MEYCIQCu6ev2W07hPsCZ3hhCA2BTSIw7vRy+e+wIrhMFOkvaiAIhAPegg2rRexw5Xbek/Rtor/xDOinLB5J84wF4Vt67o1Bv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":114195},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"gitHead":"1021acf327010f8e7b8870d64c7fbf056c63e752","scripts":{"pub":"git push --follow-tags origin && npm publish","lock":"npm i --package-lock-only","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","release":"standard-version","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup --bundleConfigAsCjs -c .rollup.config.js","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"del-cli --force temp && npx tsc && npx api-extractor run --local --verbose","prerelease":"npm test && npm run build","prepublishOnly":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"10.2.3","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"18.18.2","dependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","class-validator":"^0.14.0","koatty_container":"^1.x.x"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x.x","husky":"^4.x.x","tslib":"^2.x.x","eslint":"^8.x.x","rollup":"^4.x.x","del-cli":"^5.x.x","ts-jest":"^29.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","typescript":"^5.x.x","@types/jest":"^29.x.x","@types/node":"^20.x.x","@commitlint/cli":"^18.x.x","@types/validator":"^13.x.x","reflect-metadata":"^0.x.x","standard-version":"^9.x.x","libphonenumber-js":"^1.x.x","eslint-plugin-jest":"^27.x.x","@rollup/plugin-json":"^6.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^6.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^4.x.x","@commitlint/config-conventional":"^18.x.x","@typescript-eslint/eslint-plugin":"^6.x.x"},"peerDependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","koatty_container":"^1.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.2.10_1702708989335_0.17534848996417285","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"koatty_validation","version":"1.3.0","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.3.0","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"3ab52e7e482709ce69da38e52ce452826cad3e75","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.3.0.tgz","fileCount":12,"integrity":"sha512-53C4tQ/ytpaRP+R0R7OllA9NOa5mxfoKXoQg2fkIimrdMTSNI6SmccIdl9phw+qeGIGdEKPQmN5xI0ptxSTpbA==","signatures":[{"sig":"MEUCIQD9UFTDBXNL+y4IZ4x9rKzxBKfaeeuU5+wuWhwjTj5BjQIgXAgKQ5AhC/w20xJfvBROLDQgqvRDiqx+3FE2VFBn3AA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":119475},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"gitHead":"1e2c0dfa6a4ed9d0a9ce809101879dc0741b1e60","scripts":{"pub":"git push --follow-tags origin && npm publish","lock":"npm i --package-lock-only","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","release":"standard-version","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup --bundleConfigAsCjs -c .rollup.config.js","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"del-cli --force temp && npx tsc && npx api-extractor run --local --verbose","prerelease":"npm test && npm run build","prepublishOnly":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"10.2.3","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","class-validator":"^0.14.0","koatty_container":"^1.x.x"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x.x","husky":"^4.x.x","tslib":"^2.x.x","eslint":"^8.x.x","rollup":"^4.x.x","del-cli":"^5.x.x","ts-jest":"^29.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","typescript":"^5.x.x","@types/jest":"^29.x.x","@types/node":"^20.x.x","@commitlint/cli":"^18.x.x","@types/validator":"^13.x.x","reflect-metadata":"^0.x.x","standard-version":"^9.x.x","libphonenumber-js":"^1.x.x","eslint-plugin-jest":"^27.x.x","@rollup/plugin-json":"^6.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^6.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^4.x.x","@commitlint/config-conventional":"^18.x.x","@typescript-eslint/eslint-plugin":"^6.x.x"},"peerDependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","koatty_container":"^1.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.3.0_1704264067122_0.0863713084935045","host":"s3://npm-registry-packages"}},"1.3.1":{"name":"koatty_validation","version":"1.3.1","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.3.1","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"4f031346a605b2fc355044a11e008f61c9e9bef3","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.3.1.tgz","fileCount":12,"integrity":"sha512-7h2DYj+cpsxBwDGgiNIvvdOw8gMgJCvDir+GWxY+Hh5RJiSqQbs7RgbZ4YlOnorel/72gYv2R1TyrPpXoaLQPQ==","signatures":[{"sig":"MEUCIEN/QBwQDo1G1ncxEOmB/YWqRkUfviufKA2EIxrbMKXMAiEAshi7uBp5euB7XfdsJzkpDBl/eWoOl3eYv794+g3ST2g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":120327},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"gitHead":"31bd62e2d1ecbe46284a3e43b1b41a5d38126aa6","scripts":{"lock":"npm i --package-lock-only","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","release":"standard-version","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup --bundleConfigAsCjs -c .rollup.config.js","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"del-cli --force temp && npx tsc && npx api-extractor run --local --verbose","prerelease":"npm test && npm run build","release:pre":"npm run release -- --prerelease","release:major":"npm run release -- --release-as major","release:minor":"npm run release -- --release-as minor","prepublishOnly":"npm test && npm run build && git push --follow-tags origin"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"10.2.3","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","class-validator":"^0.14.0","koatty_container":"^1.x.x"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x.x","husky":"^4.x.x","tslib":"^2.x.x","eslint":"^8.x.x","rollup":"^4.x.x","del-cli":"^5.x.x","ts-jest":"^29.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","typescript":"^5.x.x","@types/jest":"^29.x.x","@types/node":"^20.x.x","@commitlint/cli":"^18.x.x","@types/validator":"^13.x.x","reflect-metadata":"^0.x.x","standard-version":"^9.x.x","libphonenumber-js":"^1.x.x","eslint-plugin-jest":"^27.x.x","@rollup/plugin-json":"^6.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^6.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^4.x.x","@commitlint/config-conventional":"^18.x.x","@typescript-eslint/eslint-plugin":"^6.x.x"},"peerDependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","koatty_container":"^1.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.3.1_1704668927639_0.7148251894093787","host":"s3://npm-registry-packages"}},"1.3.2":{"name":"koatty_validation","version":"1.3.2","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.3.2","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"a4938167aefb56282cdd5e8a1e84c47629c0a10c","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.3.2.tgz","fileCount":12,"integrity":"sha512-QZZlUZt2V1lbgY+U5XrRJzAR94uqfDSbG9tCNVa7kjnrzksKpwiEyA48yPe1DKhrooa8k5BPTQjB6xOST2jLTA==","signatures":[{"sig":"MEUCICLmfE/KQ11jKPA7iydMItMgCDTKphHFqGR2/Z+FSaY4AiEArRH3VY0OwQp9LoQy2PAwBrytKS6d4TwC36LHeeVmvJY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":120553},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"gitHead":"ae6ab68fa49ee484455150241f5bb8b9bc7b99d9","scripts":{"lock":"npm i --package-lock-only","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","release":"standard-version","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup --bundleConfigAsCjs -c .rollup.config.js","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"del-cli --force temp && npx tsc && npx api-extractor run --local --verbose","prerelease":"npm test && npm run build","release:pre":"npm run release -- --prerelease","release:major":"npm run release -- --release-as major","release:minor":"npm run release -- --release-as minor","prepublishOnly":"npm test && npm run build && git push --follow-tags origin"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"10.2.3","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","class-validator":"^0.14.1","koatty_container":"^1.x.x"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x.x","husky":"^4.x.x","tslib":"^2.x.x","eslint":"^8.x.x","rollup":"^4.x.x","del-cli":"^5.x.x","ts-jest":"^29.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","typescript":"^5.x.x","@types/jest":"^29.x.x","@types/node":"^20.x.x","@commitlint/cli":"^18.x.x","@types/validator":"^13.x.x","reflect-metadata":"^0.x.x","standard-version":"^9.x.x","libphonenumber-js":"^1.x.x","eslint-plugin-jest":"^27.x.x","@rollup/plugin-json":"^6.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^6.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^4.x.x","@commitlint/config-conventional":"^18.x.x","@typescript-eslint/eslint-plugin":"^6.x.x"},"peerDependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","koatty_container":"^1.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.3.2_1705240633200_0.18392761449271222","host":"s3://npm-registry-packages"}},"1.3.4":{"name":"koatty_validation","version":"1.3.4","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.3.4","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"9cf264f9e39393b9f483f73cdb10dbea5d55418a","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.3.4.tgz","fileCount":11,"integrity":"sha512-/aGPmy/w347mOAjVSBOkbOUrcBmw+76y5TxCq/QEbyaf/8U9QCEUupzeZDUs+zFd+1MyI/E+VaY9PsCSFZ6Eqg==","signatures":[{"sig":"MEUCIA2O7ZSi2zrZxHRKAL87fuCsgEZFGWzpscfPDoV7UvDpAiEAgHPm4dW2ND+ay/vc5QQzW4gC20Cxkll2eu2yjI7FXPY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":114947},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"gitHead":"fbb81fb3d9b5a803ae9a1dfea42f48c9badfebcd","scripts":{"lock":"npm i --package-lock-only","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","release":"standard-version","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup --bundleConfigAsCjs -c .rollup.config.js","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"del-cli --force temp && npx tsc && npx api-extractor run --local --verbose","prerelease":"npm test && npm run build","release:pre":"npm run release -- --prerelease","release:major":"npm run release -- --release-as major","release:minor":"npm run release -- --release-as minor","prepublishOnly":"npm test && npm run build && git push --follow-tags origin"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"10.9.0","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","class-validator":"^0.14.1","koatty_container":"^1.x.x","koatty_validation":"file:"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x.x","husky":"^4.x.x","tslib":"^2.x.x","eslint":"^8.57.x","rollup":"^4.x.x","del-cli":"^6.x.x","ts-jest":"^29.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","typescript":"^5.x.x","@types/jest":"^29.x.x","@types/node":"^22.x.x","@commitlint/cli":"^19.x.x","@types/validator":"^13.x.x","reflect-metadata":"^0.x.x","standard-version":"^9.x.x","libphonenumber-js":"^1.x.x","eslint-plugin-jest":"^28.x.x","@rollup/plugin-json":"^6.x.x","jest-html-reporters":"^3.x.x","@rollup/plugin-commonjs":"^28.0.1","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^8.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^5.x.x","@commitlint/config-conventional":"^19.x.x","@typescript-eslint/eslint-plugin":"^8.x.x"},"peerDependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","koatty_container":"^1.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.3.4_1730365388818_0.6548592114165941","host":"s3://npm-registry-packages"}},"1.3.6":{"name":"koatty_validation","version":"1.3.6","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.3.6","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"28c808d5a3e58016b18ae4e982908f58912dd16c","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.3.6.tgz","fileCount":11,"integrity":"sha512-Gb4rODsDn+XtCzBKtp2TmzFm/x1jdrfq7tMsVKRqj8C+VPN5jgN1xJHuOCFWAB+5URDjLY/dt6Jag7kMVR2k6Q==","signatures":[{"sig":"MEUCIQC4AN4Ptz6g+IXIEsvnvbZ4UyzEzPhmogXA74BB49AlWwIgeUYIvCxiB+ZkNlkXxnrVZ//+gGL9UF9hTwj90P2gMW8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":245437},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"gitHead":"e84e786c74cf6393976ff5dd3e08cee875339da6","scripts":{"lock":"npx del-cli --force node_modules && npm i --package-lock-only && npx pnpm i","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","release":"standard-version","version":"conventional-changelog -p angular -i CHANGELOG.md -s","build:cp":"node scripts/postBuild && npx copyfiles package.json LICENSE README.md dist/","build:js":"npx rollup --bundleConfigAsCjs -c .rollup.config.js","test:cov":"jest --collectCoverage --detectOpenHandles","build:doc":"npx api-documenter markdown --input temp --output docs/api","build:dts":"npx tsc && npx api-extractor run --local --verbose","prerelease":"npm run lock && npm test && npm run build","release:pre":"npm run release -- --prerelease","release:major":"npm run release -- --release-as major","release:minor":"npm run release -- --release-as minor","prepublishOnly":"npm test && npm run build && git push --follow-tags origin"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"10.9.0","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","class-validator":"^0.14.1","koatty_container":"^1.x.x"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x.x","husky":"^4.x.x","tslib":"^2.x.x","eslint":"^8.x.x","rollup":"^4.x.x","ts-jest":"^29.x.x","ts-node":"^10.x.x","@types/koa":"^2.x.x","typescript":"^5.x.x","@types/jest":"^29.x.x","@types/node":"^22.x.x","@types/lodash":"^4.x.x","@commitlint/cli":"^19.x.x","@types/validator":"^13.x.x","reflect-metadata":"^0.x.x","standard-version":"^9.x.x","libphonenumber-js":"^1.x.x","eslint-plugin-jest":"^28.x.x","@rollup/plugin-json":"^6.x.x","jest-html-reporters":"^3.x.x","rollup-plugin-delete":"^2.1.0","@rollup/plugin-commonjs":"^28.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^8.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^5.x.x","@rollup/plugin-node-resolve":"^15.x.x","@commitlint/config-conventional":"^19.x.x","@typescript-eslint/eslint-plugin":"^8.x.x"},"peerDependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","koatty_container":"^1.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.3.6_1730861528147_0.9290435686349829","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"koatty_validation","version":"1.4.0","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.4.0","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"f693fcfdb2efc7fe1ee7eae4babf3e0801c1711e","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.4.0.tgz","fileCount":17,"integrity":"sha512-wU9oh/9/JktPSIQD+DgYYtFCqEZ7a/CBFBfNdTce3YNJ7XloVpPCirmuqPdVJlk/wGyyO+1arWhIzkTcBJMqcg==","signatures":[{"sig":"MEUCIAaLq9eTfW+Oltzi3NJm/pJOA/c1obzqYA6YEAt3pGFrAiEA6on+EZi2eMoz5dvaFGPpzNh2FhOLF92IhMBiIEe2FUs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193384},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"gitHead":"650f23093819292deda901689f176ff1648d16e0","scripts":{"lock":"npm i --package-lock-only","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","release":"standard-version","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup --bundleConfigAsCjs -c .rollup.config.js","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"del-cli --force temp && npx tsc && npx api-extractor run --local --verbose","prerelease":"npm test && npm run build","release:pre":"npm run release -- --prerelease","release:major":"npm run release -- --release-as major","release:minor":"npm run release -- --release-as minor","prepublishOnly":"npm test && npm run build && git push --follow-tags origin"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"11.4.1","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"lru-cache":"^11.1.0","koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","class-validator":"^0.14.2","koatty_container":"^1.x.x"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x.x","husky":"^4.x.x","tslib":"^2.x.x","eslint":"^8.x.x","rollup":"^4.x.x","del-cli":"^6.x.x","ts-jest":"^29.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","typescript":"^5.x.x","@types/jest":"^29.x.x","@types/node":"^24.x.x","@types/lodash":"^4.17.17","@commitlint/cli":"^19.x.x","@types/validator":"^13.x.x","reflect-metadata":"^0.x.x","standard-version":"^9.x.x","libphonenumber-js":"^1.x.x","eslint-plugin-jest":"^28.x.x","@rollup/plugin-json":"^6.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^8.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^5.x.x","@commitlint/config-conventional":"^19.x.x","@typescript-eslint/eslint-plugin":"^8.x.x"},"peerDependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","koatty_container":"^1.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.4.0_1749569559005_0.3861883758195994","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"koatty_validation","version":"1.6.0","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.6.0","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"dfde3444a1f38b4e43d86a841518b956abdc7bc1","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.6.0.tgz","fileCount":16,"integrity":"sha512-Rk+oTz+s4YJRaKFpQhMv3d+dbR5b+8AFNuQFS3VO63U3i/p3J+vXz/IdAqnn4/R7xLfTl0Fv6H6VDulegagU6Q==","signatures":[{"sig":"MEYCIQCPep3Pp30K9IaExFi6dDYRoJSvnfSx8c9PG27n63UzDQIhAPStYIv/15O4FrtRhcYrP/UTfPcjJ2MPHcaisQ7rkC+t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203084},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"gitHead":"ac8cf6b168361d888ab3fa2525e6be33e53211be","scripts":{"lock":"npm i --package-lock-only","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","release":"standard-version","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup --bundleConfigAsCjs -c .rollup.config.js","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"del-cli --force temp && npx tsc && npx api-extractor run --local --verbose","prerelease":"npm test && npm run build","release:pre":"npm run release -- --prerelease","release:major":"npm run release -- --release-as major","release:minor":"npm run release -- --release-as minor","prepublishOnly":"npm test && npm run build && git push --follow-tags origin"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"10.9.3","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"lru-cache":"^11.2.2","koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","class-validator":"^0.14.2","koatty_container":"^1.x.x"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x.x","husky":"^4.x.x","tslib":"^2.x.x","eslint":"^8.x.x","rollup":"^4.x.x","del-cli":"^6.x.x","ts-jest":"^29.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","typescript":"^5.x.x","@types/jest":"^29.x.x","@types/node":"^24.x.x","@types/lodash":"^4.17.17","@commitlint/cli":"^19.x.x","@types/validator":"^13.x.x","reflect-metadata":"^0.x.x","standard-version":"^9.x.x","libphonenumber-js":"^1.x.x","eslint-plugin-jest":"^28.x.x","@rollup/plugin-json":"^6.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^8.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^5.x.x","@commitlint/config-conventional":"^19.x.x","@typescript-eslint/eslint-plugin":"^8.x.x"},"peerDependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","koatty_container":"^1.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.6.0_1761153915021_0.145929214783882","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"koatty_validation","version":"1.6.1","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.6.1","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"a1efe6e4bdc82a321249d71e163ea487a56ed493","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.6.1.tgz","fileCount":17,"integrity":"sha512-7eAXcp6IGSs0m/K5qTeKD65CfJngA4mOfqp1im4mjvbHxn90dz1pS/ERDFKldgXlsmD6Ec/hyk79SkM+hoJsog==","signatures":[{"sig":"MEUCIHSAWOKIS4014B1y9wwRIAjp6pfOVw6kbPPV/9b/7gSWAiEAjZcUvq2yyGR4B1xNPIoL5biqZ6wRgWZYdSmr1dpVjrM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219741},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"gitHead":"056e08886083937797305827795a63a0f447fc8c","scripts":{"lock":"npm i --package-lock-only","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","release":"standard-version","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup --bundleConfigAsCjs -c .rollup.config.js","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"del-cli --force temp && npx tsc && npx api-extractor run --local --verbose","prerelease":"npm test && npm run build","release:pre":"npm run release -- --prerelease","release:major":"npm run release -- --release-as major","release:minor":"npm run release -- --release-as minor","prepublishOnly":"npm test && npm run build && git push --follow-tags origin"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"10.9.3","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"lru-cache":"^11.2.2","koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","class-validator":"^0.14.2","koatty_container":"^1.x.x"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x.x","husky":"^4.x.x","tslib":"^2.x.x","eslint":"^8.x.x","rollup":"^4.x.x","del-cli":"^6.x.x","ts-jest":"^29.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","typescript":"^5.x.x","@types/jest":"^29.x.x","@types/node":"^24.x.x","@types/lodash":"^4.17.17","@commitlint/cli":"^19.x.x","@types/validator":"^13.x.x","reflect-metadata":"^0.x.x","standard-version":"^9.x.x","libphonenumber-js":"^1.x.x","eslint-plugin-jest":"^28.x.x","@rollup/plugin-json":"^6.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^8.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^5.x.x","@commitlint/config-conventional":"^19.x.x","@typescript-eslint/eslint-plugin":"^8.x.x"},"peerDependencies":{"koatty_lib":"^1.x.x","koatty_logger":"^2.x.x","koatty_container":"^1.x.x"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.6.1_1761224090702_0.7469105055624548","host":"s3://npm-registry-packages-npm-production"}},"1.6.3":{"name":"koatty_validation","version":"1.6.3","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.6.3","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"13a84993ff8b17a8d034632552ad038e2d77b5ea","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.6.3.tgz","fileCount":19,"integrity":"sha512-pYLlZPZ7egnFf8xAGFk5oTjYcwd2y/uD9TmbWcrFcqmf1vPrwiH8f2DVLyGUr5yX5o+Cicth9nsozeYQYgyCFg==","signatures":[{"sig":"MEYCIQCbcTmkkdqicD6l2kDYH44ebsuJ444s5yEi0u3mjhGPUAIhAL4WMOn9RFH0hioxzrf82QhfjMbHqwQeQkNcnvdmSxh1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233234},"main":"./dist/index.js","_from":"file:koatty_validation-1.6.3.tgz","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"scripts":{"lock":"npm i --package-lock-only","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup --bundleConfigAsCjs -c .rollup.config.js","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"del-cli --force temp && npx tsc && npx api-extractor run --local --verbose","prerelease":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"_resolved":"/private/var/folders/q7/btr_3bl94ml3jg4mkshx237h0000gn/T/9ec2928c291208fe60a904870e93f4fe/koatty_validation-1.6.3.tgz","_integrity":"sha512-pYLlZPZ7egnFf8xAGFk5oTjYcwd2y/uD9TmbWcrFcqmf1vPrwiH8f2DVLyGUr5yX5o+Cicth9nsozeYQYgyCFg==","repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"10.9.2","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"lru-cache":"^11.2.5","koatty_lib":"1.4.3","koatty_logger":"2.8.1","class-validator":"^0.14.3","koatty_container":"1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x.x","husky":"^4.x.x","tslib":"^2.x.x","eslint":"^8.x.x","rollup":"^4.x.x","del-cli":"^6.x.x","ts-jest":"^29.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","typescript":"^5.x.x","@types/jest":"^29.x.x","@types/node":"^24.x.x","@types/lodash":"^4.17.17","@commitlint/cli":"^19.x.x","@types/validator":"^13.x.x","reflect-metadata":"^0.x.x","standard-version":"^9.x.x","libphonenumber-js":"^1.x.x","eslint-plugin-jest":"^28.x.x","@rollup/plugin-json":"^6.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^8.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^5.x.x","@commitlint/config-conventional":"^19.x.x","@typescript-eslint/eslint-plugin":"^8.x.x"},"peerDependencies":{"koatty_lib":"1.4.3","koatty_logger":"2.8.1","koatty_container":"1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.6.3_1769575224371_0.9435499816229449","host":"s3://npm-registry-packages-npm-production"}},"1.6.6":{"name":"koatty_validation","version":"1.6.6","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@1.6.6","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"054919802e85eee3c5c44fe0554cc650f028d485","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-1.6.6.tgz","fileCount":19,"integrity":"sha512-q2CCrSIDNqbGOnxUzmL3PS0O43BH1hsHewMVeIhElFAiCR27jc9EjqxoLpVFYRTqe7Hq8qe52zPg8KoPYlxE1w==","signatures":[{"sig":"MEUCIQDe493YhkR+AnfLFtF9Fhmmcu0wcqjnP6jZQDN+Lsg0eQIgash29ROJ+xRCgkHZ24k04T28zcwviHprGh9MRu286BM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236254},"main":"./dist/index.js","_from":"file:koatty_validation-1.6.6.tgz","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"scripts":{"lock":"npm i --package-lock-only","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup --bundleConfigAsCjs -c .rollup.config.js","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"bash ../../scripts/build-dts.sh","prerelease":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"_resolved":"/private/var/folders/q7/btr_3bl94ml3jg4mkshx237h0000gn/T/178725218dd2a6000b51e2bb92017b7d/koatty_validation-1.6.6.tgz","_integrity":"sha512-q2CCrSIDNqbGOnxUzmL3PS0O43BH1hsHewMVeIhElFAiCR27jc9EjqxoLpVFYRTqe7Hq8qe52zPg8KoPYlxE1w==","repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"10.9.2","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"lru-cache":"^11.2.5","koatty_lib":"^1.4.5","koatty_logger":"^2.3.4","class-validator":"^0.14.3","koatty_container":"^1.17.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x.x","husky":"^4.x.x","tslib":"^2.x.x","eslint":"^8.x.x","rollup":"^4.x.x","del-cli":"^6.x.x","ts-jest":"^29.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","typescript":"^5.x.x","@types/jest":"^29.x.x","@types/node":"^24.x.x","@types/lodash":"^4.17.17","@commitlint/cli":"^19.x.x","@types/validator":"^13.x.x","reflect-metadata":"^0.x.x","standard-version":"^9.x.x","libphonenumber-js":"^1.x.x","eslint-plugin-jest":"^28.x.x","@rollup/plugin-json":"^6.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^8.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^5.x.x","@commitlint/config-conventional":"^19.x.x","@typescript-eslint/eslint-plugin":"^8.x.x"},"peerDependencies":{"koatty_lib":"^1.4.5","koatty_logger":"^2.3.4","koatty_container":"^1.17.4"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_1.6.6_1769592140696_0.36883163400649077","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"koatty_validation","version":"2.0.0","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@2.0.0","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"7a4339dc3b5604c47a713ff502d274670d48e5a2","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-2.0.0.tgz","fileCount":19,"integrity":"sha512-+eF8AZ4JbXs3JOhHMiPX1bPzYcH1XUoCz1AbhiZh+/MVvRZ2KCbZry6QrPXIgBPzGyWV6yKfIrM0/dbmNjWs9A==","signatures":[{"sig":"MEQCIEEIKYANk/4Zc9ITXUVNXjenQb53hmRy5OVKvSH65SB0AiA4nibUj9PPIrZIb6IiZUJ2hRZto8PVzvJEbrG97a76Cw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":234655},"main":"./dist/index.js","_from":"file:koatty_validation-2.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"scripts":{"lock":"npm i --package-lock-only","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup --bundleConfigAsCjs -c .rollup.config.js","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"bash ../../scripts/build-dts.sh","prerelease":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"_resolved":"/private/var/folders/q7/btr_3bl94ml3jg4mkshx237h0000gn/T/d3173957d5398195286ae9b60401101d/koatty_validation-2.0.0.tgz","_integrity":"sha512-+eF8AZ4JbXs3JOhHMiPX1bPzYcH1XUoCz1AbhiZh+/MVvRZ2KCbZry6QrPXIgBPzGyWV6yKfIrM0/dbmNjWs9A==","repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"10.9.2","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"lru-cache":"^11.2.5","koatty_lib":"1.4.5","koatty_logger":"2.4.0","class-validator":"^0.14.3","koatty_container":"2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x.x","husky":"^4.x.x","tslib":"^2.x.x","eslint":"^8.x.x","rollup":"^4.x.x","del-cli":"^6.x.x","ts-jest":"^29.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","typescript":"^5.x.x","@types/jest":"^29.x.x","@types/node":"^24.x.x","@types/lodash":"^4.17.17","@commitlint/cli":"^19.x.x","@types/validator":"^13.x.x","reflect-metadata":"^0.x.x","standard-version":"^9.x.x","libphonenumber-js":"^1.x.x","eslint-plugin-jest":"^28.x.x","@rollup/plugin-json":"^6.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^8.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^5.x.x","@commitlint/config-conventional":"^19.x.x","@typescript-eslint/eslint-plugin":"^8.x.x"},"peerDependencies":{"koatty_lib":"^1.4.5","koatty_logger":"^2.4.0","koatty_container":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_2.0.0_1769824287001_0.7072670684666011","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"koatty_validation","version":"2.0.1","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@2.0.1","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"84b4bfa3542426aa0538e9a74267f670a044ae41","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-2.0.1.tgz","fileCount":19,"integrity":"sha512-UZsrHhKVwYjL8rf5Mls0YVVGJQIqPwmvLFsOd+hTruGMbEEVh+39C7e4t447DeOqLVDhNAhC8wP6OcFFab5j1w==","signatures":[{"sig":"MEYCIQDcL91uVwPVblW4keVkn/EeEBx0VJzyNp/C5BTgYS5ELgIhALNl7ujDiOLaJed4LUmS/GnMAFUl2CZzEDBzVTM7uNw5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":234767},"main":"./dist/index.js","_from":"file:koatty_validation-2.0.1.tgz","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"scripts":{"lock":"npm i --package-lock-only","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup --bundleConfigAsCjs -c .rollup.config.js","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"bash ../../scripts/build-dts.sh","prerelease":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"_resolved":"/private/var/folders/q7/btr_3bl94ml3jg4mkshx237h0000gn/T/3e01b3d82aa79150e4c29c3ecf82825c/koatty_validation-2.0.1.tgz","_integrity":"sha512-UZsrHhKVwYjL8rf5Mls0YVVGJQIqPwmvLFsOd+hTruGMbEEVh+39C7e4t447DeOqLVDhNAhC8wP6OcFFab5j1w==","repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"10.9.2","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"lru-cache":"^11.2.5","koatty_lib":"1.4.5","koatty_logger":"2.4.1","class-validator":"^0.14.3","koatty_container":"2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x.x","husky":"^4.x.x","tslib":"^2.x.x","eslint":"^8.x.x","rollup":"^4.x.x","del-cli":"^6.x.x","ts-jest":"^29.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","typescript":"^5.x.x","@types/jest":"^29.x.x","@types/node":"^24.x.x","@types/lodash":"^4.17.17","@commitlint/cli":"^19.x.x","@types/validator":"^13.x.x","reflect-metadata":"^0.x.x","standard-version":"^9.x.x","libphonenumber-js":"^1.x.x","eslint-plugin-jest":"^28.x.x","@rollup/plugin-json":"^6.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^8.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^5.x.x","@commitlint/config-conventional":"^19.x.x","@typescript-eslint/eslint-plugin":"^8.x.x"},"peerDependencies":{"koatty_lib":"^1.4.5","koatty_logger":"^2.4.1","koatty_container":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_2.0.1_1770103447276_0.11907546531494173","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"koatty_validation","version":"2.0.2","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@2.0.2","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"47941463a2ca92c85ba9236e460863a4f668f745","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-2.0.2.tgz","fileCount":19,"integrity":"sha512-Dr1xeqkihr3wbK/zM1OhnkuZHk8n9mUxgBp7WW47q/tCTRVnD1mBj1yo/uJtePlti2C94a4qQGTknLJJC1rmCQ==","signatures":[{"sig":"MEUCIE9iSCP0Hw7iL77DkC2FVJkgpXHtJ2e4S6UcM5d+1BOHAiEA8tw2DX8mXv4RbldQoo2n52H7VBZ+TFYOvxNiBb67P50=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":235200},"main":"./dist/index.js","_from":"file:koatty_validation-2.0.2.tgz","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"scripts":{"lock":"npm i --package-lock-only","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup --bundleConfigAsCjs -c .rollup.config.js","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"bash ../../scripts/build-dts.sh","prerelease":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"_resolved":"/private/var/folders/q7/btr_3bl94ml3jg4mkshx237h0000gn/T/fe7e5d753e12652d2ca24db129b2b1b4/koatty_validation-2.0.2.tgz","_integrity":"sha512-Dr1xeqkihr3wbK/zM1OhnkuZHk8n9mUxgBp7WW47q/tCTRVnD1mBj1yo/uJtePlti2C94a4qQGTknLJJC1rmCQ==","repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"10.9.2","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"lru-cache":"^11.2.5","koatty_lib":"1.4.6","koatty_logger":"2.4.2","class-validator":"^0.14.3","koatty_container":"2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x.x","husky":"^4.x.x","tslib":"^2.x.x","eslint":"^8.x.x","rollup":"^4.x.x","del-cli":"^6.x.x","ts-jest":"^29.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","typescript":"^5.x.x","@types/jest":"^29.x.x","@types/node":"^24.x.x","@types/lodash":"^4.17.17","@commitlint/cli":"^19.x.x","@types/validator":"^13.x.x","reflect-metadata":"^0.x.x","standard-version":"^9.x.x","libphonenumber-js":"^1.x.x","eslint-plugin-jest":"^28.x.x","@rollup/plugin-json":"^6.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^8.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^5.x.x","@commitlint/config-conventional":"^19.x.x","@typescript-eslint/eslint-plugin":"^8.x.x"},"peerDependencies":{"koatty_lib":"^1.4.6","koatty_logger":"^2.4.2","koatty_container":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_2.0.2_1770108996025_0.5150727113831062","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"koatty_validation","version":"2.0.3","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@2.0.3","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"30b9506224a69e1f1eb5672bb2cdee563be3ff6c","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-2.0.3.tgz","fileCount":19,"integrity":"sha512-ox0vGWh9L3gES+8GixxCvLkEpNHo/dtu29qm/Vc1wSOUxeTcUIgrj/cXiFeA6Oh5kJcXwBLAgnOrNewsRd2FmQ==","signatures":[{"sig":"MEUCIQCFuGiF7gRUTaE3snflAwUSAqId1GpmuHBWA+IgtEQbqwIgf1J3DJOYEwbJFF0R5caPXq6zYC8NBUCSOrpilmvBYbg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":235301},"main":"./dist/index.js","_from":"file:koatty_validation-2.0.3.tgz","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"scripts":{"lock":"npm i --package-lock-only","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup --bundleConfigAsCjs -c .rollup.config.js","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"bash ../../scripts/build-dts.sh","prerelease":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"_resolved":"/private/var/folders/q7/btr_3bl94ml3jg4mkshx237h0000gn/T/f778012cbcbcca05dd8e53453c25a4c4/koatty_validation-2.0.3.tgz","_integrity":"sha512-ox0vGWh9L3gES+8GixxCvLkEpNHo/dtu29qm/Vc1wSOUxeTcUIgrj/cXiFeA6Oh5kJcXwBLAgnOrNewsRd2FmQ==","repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"10.9.2","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"lru-cache":"^11.2.5","koatty_lib":"1.4.6","koatty_logger":"2.4.2","class-validator":"^0.14.3","koatty_container":"2.0.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x.x","husky":"^4.x.x","tslib":"^2.x.x","eslint":"^8.x.x","rollup":"^4.x.x","del-cli":"^6.x.x","ts-jest":"^29.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","typescript":"^5.x.x","@types/jest":"^29.x.x","@types/node":"^24.x.x","@types/lodash":"^4.17.17","@commitlint/cli":"^19.x.x","@types/validator":"^13.x.x","reflect-metadata":"^0.x.x","standard-version":"^9.x.x","libphonenumber-js":"^1.x.x","eslint-plugin-jest":"^28.x.x","@rollup/plugin-json":"^6.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^8.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^5.x.x","@commitlint/config-conventional":"^19.x.x","@typescript-eslint/eslint-plugin":"^8.x.x"},"peerDependencies":{"koatty_lib":"^1.4.6","koatty_logger":"^2.4.2","koatty_container":"^2.0.3"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_2.0.3_1770173418414_0.991581075705936","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"koatty_validation","version":"2.0.4","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@2.0.4","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"0bcc01a8cf908b17636e15e73230eaf0c39619b4","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-2.0.4.tgz","fileCount":19,"integrity":"sha512-UZO1z9dECYJiOs93K0755s8ReD1W9t6ykJhDjLyl+vQ2ahpKtIqA4aHxB0tEIQIKfysBUnHUOBPjDB9rokuEqw==","signatures":[{"sig":"MEUCIQCVX9BQwrMdfaV0CraD4fMMgjg/Bws8ieuvKeTCSvd4tQIgLlJ1gmWWkZ3rHTB7XJ+PszwqmK0HwGxnvfsSCrVGTLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":235397},"main":"./dist/index.js","_from":"file:koatty_validation-2.0.4.tgz","types":"./dist/index.d.ts","engines":{"node":">10.0.0"},"exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"scripts":{"lock":"npm i --package-lock-only","test":"npm run eslint && jest --passWithNoTests","build":"npm run build:js && npm run build:dts && npm run build:doc && npm run build:cp","eslint":"eslint --ext .ts,.js ./","build:cp":"node scripts/postBuild && copyfiles package.json LICENSE README.md dist/","build:js":"del-cli --force dist && npx rollup --bundleConfigAsCjs -c .rollup.config.js","build:doc":"del-cli --force docs/api && npx api-documenter markdown --input temp --output docs/api","build:dts":"bash ../../scripts/build-dts.sh","prerelease":"npm test && npm run build"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"_resolved":"/private/var/folders/q7/btr_3bl94ml3jg4mkshx237h0000gn/T/4116d28746e6f95c8c2895052eedfb05/koatty_validation-2.0.4.tgz","_integrity":"sha512-UZO1z9dECYJiOs93K0755s8ReD1W9t6ykJhDjLyl+vQ2ahpKtIqA4aHxB0tEIQIKfysBUnHUOBPjDB9rokuEqw==","repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"10.9.2","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"lru-cache":"^11.2.5","koatty_lib":"1.4.6","koatty_logger":"2.8.2","class-validator":"^0.14.3","koatty_container":"2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x.x","husky":"^4.x.x","tslib":"^2.x.x","eslint":"^8.x.x","rollup":"^4.x.x","del-cli":"^6.x.x","ts-jest":"^29.x.x","ts-node":"^10.x.x","copyfiles":"^2.x.x","@types/koa":"^2.x.x","typescript":"^5.x.x","@types/jest":"^29.x.x","@types/node":"^24.x.x","@types/lodash":"^4.17.17","@commitlint/cli":"^19.x.x","@types/validator":"^13.x.x","reflect-metadata":"^0.x.x","standard-version":"^9.x.x","libphonenumber-js":"^1.x.x","eslint-plugin-jest":"^28.x.x","@rollup/plugin-json":"^6.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.x.x","@microsoft/api-documenter":"^7.x.x","@typescript-eslint/parser":"^8.x.x","rollup-plugin-typescript2":"^0.x.x","conventional-changelog-cli":"^5.x.x","@commitlint/config-conventional":"^19.x.x","@typescript-eslint/eslint-plugin":"^8.x.x"},"peerDependencies":{"koatty_lib":"^1.4.6","koatty_logger":"^2.8.2","koatty_container":"^2.0.4"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_2.0.4_1770173929449_0.22379312525914674","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"koatty_validation","version":"2.0.5","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@2.0.5","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"42b15a6a4dd4972b756f780e41e38cad107e44fb","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-2.0.5.tgz","fileCount":22,"integrity":"sha512-7i4956T2flJd95Pm5TUAHok8uk82Pz8Bb6MpeVgqWrkv8k7O3CaQWuJlsyfrEoYEvm8jTW4iXRUZnKMp5viBBQ==","signatures":[{"sig":"MEQCIDjGW3dTpZ4OZ5IBt2b9qsz+GKNBSP6OTrxrY3uVML0pAiApoFIJwkTAXT0wfklJDDWJBSHaYcBbBl3xtKQmRvzNVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":430678},"main":"./dist/index.js","_from":"file:koatty_validation-2.0.5.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"lint":"eslint --ext .ts,.js ./src","test":"pnpm run lint && jest --passWithNoTests","build":"pnpm run build:js && pnpm run build:dts && pnpm run build:doc && pnpm run build:cp","clean":"rimraf dist temp docs/api","build:cp":"node ../../scripts/postBuild.js","build:js":"tsup","test:cov":"jest --collectCoverage --detectOpenHandles","build:doc":"api-documenter markdown --input temp --output docs/api","build:dts":"bash ../../scripts/build-dts.sh"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"_resolved":"/private/var/folders/q7/btr_3bl94ml3jg4mkshx237h0000gn/T/234ae4dec5c7b28594e298dbcc310ad4/koatty_validation-2.0.5.tgz","_integrity":"sha512-7i4956T2flJd95Pm5TUAHok8uk82Pz8Bb6MpeVgqWrkv8k7O3CaQWuJlsyfrEoYEvm8jTW4iXRUZnKMp5viBBQ==","repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"10.9.2","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"lru-cache":"^11.2.5","koatty_lib":"1.4.7","koatty_logger":"2.8.3","class-validator":"^0.14.3","koatty_container":"2.0.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x.x","tslib":"^2.x.x","eslint":"^8.x.x","ts-jest":"^29.x.x","@types/koa":"^2.x.x","@types/jest":"^29.5.x","@types/node":"^22.x.x","@types/lodash":"^4.x.x","@types/validator":"^13.x.x","reflect-metadata":"^0.2.2","libphonenumber-js":"^1.x.x","eslint-plugin-jest":"^28.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.52.x","@microsoft/api-documenter":"^7.26.x","@typescript-eslint/parser":"^8.x.x","@typescript-eslint/eslint-plugin":"^8.x.x"},"peerDependencies":{"koatty_lib":"^1.4.7","koatty_logger":"^2.8.3","koatty_container":"^2.0.5"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_2.0.5_1770714827825_0.31264840371156","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"koatty_validation","version":"2.0.6","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@2.0.6","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"175505659eecc62e1f64111f44ae0eff1c8559a6","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-2.0.6.tgz","fileCount":22,"integrity":"sha512-pf2spvglX7nyNYmK9rMULpZmX8W6p2IjcK5WKPJrvvxrTzOekwn+mOTyTyP6YYr1JA3Z+/IrEG8B8uqf/nHe2g==","signatures":[{"sig":"MEYCIQDyu1nd3vUmciAVv4vidT/a1fw6L8mN5S4AUNmeh4wT1gIhAN70AONPvEvnpbwvqceb0NicAboglSkEa/Ku34jEpr2i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":430758},"main":"./dist/index.js","_from":"file:koatty_validation-2.0.6.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"lint":"eslint --ext .ts,.js ./src","test":"pnpm run lint && jest --passWithNoTests","build":"pnpm run build:js && pnpm run build:dts && pnpm run build:doc && pnpm run build:cp","clean":"rimraf dist temp docs/api","build:cp":"node ../../scripts/postBuild.js","build:js":"tsup","test:cov":"jest --collectCoverage --detectOpenHandles","build:doc":"api-documenter markdown --input temp --output docs/api","build:dts":"bash ../../scripts/build-dts.sh"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"_resolved":"/private/var/folders/q7/btr_3bl94ml3jg4mkshx237h0000gn/T/c7ec7524016f839466db53db6834858f/koatty_validation-2.0.6.tgz","_integrity":"sha512-pf2spvglX7nyNYmK9rMULpZmX8W6p2IjcK5WKPJrvvxrTzOekwn+mOTyTyP6YYr1JA3Z+/IrEG8B8uqf/nHe2g==","repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"10.9.2","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"lru-cache":"^11.2.5","koatty_lib":"1.4.7","koatty_logger":"2.8.3","class-validator":"^0.14.3","koatty_container":"2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x.x","tslib":"^2.x.x","eslint":"^8.x.x","ts-jest":"^29.x.x","@types/koa":"^2.x.x","@types/jest":"^29.5.x","@types/node":"^22.x.x","@types/lodash":"^4.x.x","@types/validator":"^13.x.x","reflect-metadata":"^0.2.2","libphonenumber-js":"^1.x.x","eslint-plugin-jest":"^28.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.52.x","@microsoft/api-documenter":"^7.26.x","@typescript-eslint/parser":"^8.x.x","@typescript-eslint/eslint-plugin":"^8.x.x"},"peerDependencies":{"koatty_lib":"^1.4.7","koatty_logger":"^2.8.3","koatty_container":"^2.0.6"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_2.0.6_1770781412141_0.3598858026647249","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"koatty_validation","version":"2.0.7","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@2.0.7","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"8a0398391df30380b1a559659e26d10091774d74","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-2.0.7.tgz","fileCount":22,"integrity":"sha512-gTJV7kRrXbR3UcEzgJH4lZ9MnD1K+dscB79nMOAHpWNlgpBBHR7WHItTDnlGnv0XE3HXDKbED/EWpWe0S2J+sA==","signatures":[{"sig":"MEQCIBBfRk8kUjUZUQ4ZbzsQ3DOqicbCNUDnpBh7pk2osVt9AiBlKtc/cC3Z36NhYqBs/2fh02uOJp39U1V2Y5EKhhBz5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":431043},"main":"./dist/index.js","_from":"file:koatty_validation-2.0.7.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"lint":"eslint --ext .ts,.js ./src","test":"pnpm run lint && jest --passWithNoTests","build":"pnpm run build:js && pnpm run build:dts && pnpm run build:doc && pnpm run build:cp","clean":"rimraf dist temp docs/api","build:cp":"node ../../scripts/postBuild.js","build:js":"tsup","test:cov":"jest --collectCoverage --detectOpenHandles","build:doc":"api-documenter markdown --input temp --output docs/api","build:dts":"bash ../../scripts/build-dts.sh"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"_resolved":"/private/var/folders/q7/btr_3bl94ml3jg4mkshx237h0000gn/T/4f38ef03a5cc18e508dc9f4f88941fb0/koatty_validation-2.0.7.tgz","_integrity":"sha512-gTJV7kRrXbR3UcEzgJH4lZ9MnD1K+dscB79nMOAHpWNlgpBBHR7WHItTDnlGnv0XE3HXDKbED/EWpWe0S2J+sA==","repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"10.9.2","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"lru-cache":"^11.2.5","koatty_lib":"1.4.8","koatty_logger":"2.8.4","class-validator":"^0.14.3","koatty_container":"2.0.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x.x","tslib":"^2.x.x","eslint":"^8.x.x","ts-jest":"^29.x.x","@types/koa":"^2.x.x","@types/jest":"^29.5.x","@types/node":"^22.x.x","@types/lodash":"^4.x.x","@types/validator":"^13.x.x","reflect-metadata":"^0.2.2","libphonenumber-js":"^1.x.x","eslint-plugin-jest":"^28.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.52.x","@microsoft/api-documenter":"^7.26.x","@typescript-eslint/parser":"^8.x.x","@typescript-eslint/eslint-plugin":"^8.x.x"},"peerDependencies":{"koatty_lib":"^1.4.8","koatty_logger":"^2.8.4","koatty_container":"^2.0.7"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_2.0.7_1772897704858_0.1357548051984392","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"koatty_validation","version":"2.0.8","author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","_id":"koatty_validation@2.0.8","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"homepage":"https://github.com/koatty/koatty_validation","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"dist":{"shasum":"329887f51863b07c6173e1c2ae946d7364eeec05","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-2.0.8.tgz","fileCount":22,"integrity":"sha512-2lr60ezWPJR9CPXP3EKECuvBBYPRtiu7LwKUJsBfKzf1jFG153W+j2cvQY7NwUCjJYBrBtbvfSNvS/MVLfdilw==","signatures":[{"sig":"MEUCIBCqowpayMbSvgrHKsYNG7aerzEyVzvriGGdx+FqkHApAiEA22rS7FsEzHLFYE0oYg4AfiBLsE4dr9SJQKagPXf6u+s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":431123},"main":"./dist/index.js","_from":"file:koatty_validation-2.0.8.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"lint":"eslint --ext .ts,.js ./src","test":"pnpm run lint && jest --passWithNoTests","build":"pnpm run build:js && pnpm run build:dts && pnpm run build:doc && pnpm run build:cp","clean":"rimraf dist temp docs/api","build:cp":"node ../../scripts/postBuild.js","build:js":"tsup","test:cov":"jest --collectCoverage --detectOpenHandles","build:doc":"api-documenter markdown --input temp --output docs/api","build:dts":"bash ../../scripts/build-dts.sh"},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"_resolved":"/private/var/folders/q7/btr_3bl94ml3jg4mkshx237h0000gn/T/b89e1221aaa474a439dbef6e058711a8/koatty_validation-2.0.8.tgz","_integrity":"sha512-2lr60ezWPJR9CPXP3EKECuvBBYPRtiu7LwKUJsBfKzf1jFG153W+j2cvQY7NwUCjJYBrBtbvfSNvS/MVLfdilw==","repository":{"url":"git+https://github.com/koatty/koatty_validation.git","type":"git"},"_npmVersion":"10.9.2","description":"Validation Util for Koatty and ThinkORM.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"lru-cache":"^11.2.5","koatty_lib":"1.4.8","koatty_logger":"2.8.4","class-validator":"^0.14.3","koatty_container":"2.0.8"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x.x","tslib":"^2.x.x","eslint":"^8.x.x","ts-jest":"^29.x.x","@types/koa":"^2.x.x","@types/jest":"^29.5.x","@types/node":"^22.x.x","@types/lodash":"^4.x.x","@types/validator":"^13.x.x","reflect-metadata":"^0.2.2","libphonenumber-js":"^1.x.x","eslint-plugin-jest":"^28.x.x","jest-html-reporters":"^3.x.x","@microsoft/api-extractor":"^7.52.x","@microsoft/api-documenter":"^7.26.x","@typescript-eslint/parser":"^8.x.x","@typescript-eslint/eslint-plugin":"^8.x.x"},"peerDependencies":{"koatty_lib":"^1.4.8","koatty_logger":"^2.8.4","koatty_container":"^2.0.8"},"_npmOperationalInternal":{"tmp":"tmp/koatty_validation_2.0.8_1772945125833_0.30556846853005193","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"koatty_validation","version":"2.1.0","description":"Validation Util for Koatty and ThinkORM.","main":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"repository":{"type":"git","url":"git+https://github.com/koatty/koatty_validation.git"},"engines":{"node":">=18.0.0"},"author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"homepage":"https://github.com/koatty/koatty_validation","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"devDependencies":{"@microsoft/api-documenter":"^7.26.x","@microsoft/api-extractor":"^7.52.x","@types/jest":"^29.5.x","@types/koa":"^2.x.x","@types/lodash":"^4.x.x","@types/node":"^22.x.x","@types/validator":"^13.x.x","@typescript-eslint/eslint-plugin":"^8.x.x","@typescript-eslint/parser":"^8.x.x","eslint":"^8.x.x","eslint-plugin-jest":"^28.x.x","jest":"^29.x.x","jest-html-reporters":"^3.x.x","libphonenumber-js":"^1.x.x","reflect-metadata":"^0.2.2","ts-jest":"^29.x.x","tslib":"^2.x.x"},"dependencies":{"class-validator":"^0.14.3","lru-cache":"^11.2.5","koatty_container":"2.1.0","koatty_logger":"2.9.0","koatty_lib":"1.5.0"},"peerDependencies":{"koatty_container":"^2.1.0","koatty_lib":"^1.5.0","koatty_logger":"^2.9.0"},"types":"./dist/index.d.ts","scripts":{"build":"pnpm run build:js && pnpm run build:dts && pnpm run build:doc && pnpm run build:cp","build:js":"tsup","build:dts":"bash ../../scripts/build-dts.sh","build:doc":"api-documenter markdown --input temp --output docs/api","build:cp":"node ../../scripts/postBuild.js","clean":"rimraf dist temp docs/api","lint":"eslint --ext .ts,.js ./src","test":"pnpm run lint && jest --passWithNoTests","test:cov":"jest --collectCoverage --detectOpenHandles"},"_id":"koatty_validation@2.1.0","_integrity":"sha512-kMVF0Y1OQ9WiDcaWx88OdaxAclYN2yNFlkrDTxsOh5BFWZWi1EPLmqfj1sps5yNIPoF+F7xGX1k+CJdwNQUe/A==","_resolved":"/private/var/folders/q7/btr_3bl94ml3jg4mkshx237h0000gn/T/7eda7b05ae186c70cb643f5d0be07540/koatty_validation-2.1.0.tgz","_from":"file:koatty_validation-2.1.0.tgz","_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-kMVF0Y1OQ9WiDcaWx88OdaxAclYN2yNFlkrDTxsOh5BFWZWi1EPLmqfj1sps5yNIPoF+F7xGX1k+CJdwNQUe/A==","shasum":"3e081f8bb3823bfcd7206af75a3a19c0dd3f51a1","tarball":"https://registry.npmjs.org/koatty_validation/-/koatty_validation-2.1.0.tgz","fileCount":25,"unpackedSize":524314,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDIfZV5vTlAkpGoHrUBnGzjbWfz5OeHzit9EQ6NsCgBRAIhAP8e6eIrJX84+vb49YhwaZ/3wLG7CNnqKUUZRI+54d5C"}]},"_npmUser":{"name":"richenlin","email":"richenlin@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/koatty_validation_2.1.0_1777021781140_0.24793402033791256"},"_hasShrinkwrap":false}},"time":{"created":"2020-12-02T06:31:20.097Z","modified":"2026-04-24T09:09:41.404Z","1.0.0":"2020-12-02T06:31:20.240Z","1.0.1":"2021-06-22T09:26:17.519Z","1.0.2":"2021-06-28T10:55:44.316Z","1.0.4":"2021-07-12T08:08:12.357Z","1.0.6":"2021-11-20T14:42:40.532Z","1.0.8":"2021-11-23T06:42:08.162Z","1.0.10":"2021-11-25T03:13:46.970Z","1.0.12":"2021-12-21T17:00:41.072Z","1.1.0":"2022-02-16T10:32:04.122Z","1.2.0":"2022-02-25T01:58:17.264Z","1.2.2":"2022-02-25T02:59:10.648Z","1.2.3":"2022-03-09T10:25:02.371Z","1.2.4":"2022-05-27T01:55:29.165Z","1.2.5":"2022-08-19T06:24:56.713Z","1.2.6":"2023-01-09T16:29:03.221Z","1.2.7":"2023-02-17T03:33:27.983Z","1.2.8":"2023-02-17T06:25:25.862Z","1.2.9":"2023-09-01T03:55:20.099Z","1.2.10":"2023-12-16T06:43:09.607Z","1.3.0":"2024-01-03T06:41:07.299Z","1.3.1":"2024-01-07T23:08:47.795Z","1.3.2":"2024-01-14T13:57:13.387Z","1.3.4":"2024-10-31T09:03:09.033Z","1.3.6":"2024-11-06T02:52:08.413Z","1.4.0":"2025-06-10T15:32:39.495Z","1.6.0":"2025-10-22T17:25:15.194Z","1.6.1":"2025-10-23T12:54:50.911Z","1.6.3":"2026-01-28T04:40:24.533Z","1.6.6":"2026-01-28T09:22:20.877Z","2.0.0":"2026-01-31T01:51:27.169Z","2.0.1":"2026-02-03T07:24:07.455Z","2.0.2":"2026-02-03T08:56:36.174Z","2.0.3":"2026-02-04T02:50:18.632Z","2.0.4":"2026-02-04T02:58:49.594Z","2.0.5":"2026-02-10T09:13:47.965Z","2.0.6":"2026-02-11T03:43:32.296Z","2.0.7":"2026-03-07T15:35:05.058Z","2.0.8":"2026-03-08T04:45:25.993Z","2.1.0":"2026-04-24T09:09:41.304Z"},"bugs":{"url":"https://github.com/koatty/koatty_validation/issues"},"author":{"name":"richenlin","email":"richenlin@gmail.com"},"license":"BSD-3-Clause","homepage":"https://github.com/koatty/koatty_validation","repository":{"type":"git","url":"git+https://github.com/koatty/koatty_validation.git"},"description":"Validation Util for Koatty and ThinkORM.","maintainers":[{"name":"richenlin","email":"richenlin@gmail.com"}],"readme":"# koatty_validation\n\n基于 class-validator 扩展的 Koatty 验证工具库，支持中文本地化验证规则、自定义装饰器、性能缓存和错误处理。\n\n[![npm version](https://badge.fury.io/js/koatty_validation.svg)](https://badge.fury.io/js/koatty_validation)\n[![Node.js CI](https://github.com/koatty/koatty_validation/workflows/Node.js%20CI/badge.svg)](https://github.com/koatty/koatty_validation/actions)\n\n## ✨ 特性\n\n- 🚀 **高性能**: 内置缓存机制，提升验证性能\n- 🌏 **中文支持**: 内置中文验证规则（姓名、身份证、手机号等）\n- 🔧 **自定义装饰器**: 支持装饰器工厂模式，轻松创建自定义验证器\n- 📊 **性能监控**: 内置性能监控和缓存统计\n- 🎯 **错误处理**: 多语言错误信息支持\n- 📦 **TypeScript**: 完整的 TypeScript 支持\n\n## 📦 安装\n\n```bash\nnpm install koatty_validation\n# 或\nyarn add koatty_validation\n```\n\n## 🎯 快速开始\n\n### 基础用法\n\n```typescript\nimport { IsNotEmpty, IsCnName, IsMobile, Valid, Validated } from 'koatty_validation';\n\n// 在控制器中使用参数验证\nexport class Controller {\n    // 参数验证\n    Test(@Valid(\"IsNotEmpty\", \"不能为空\") id: number) {\n        // 业务逻辑\n    }\n\n    // DTO 验证 - 异步模式（默认，适用于 Koatty 框架）\n    @Validated()\n    TestDto(user: UserDTO) {\n        // 框架会在异步获取参数后自动验证 UserDTO\n    }\n    \n    // DTO 验证 - 同步模式（适用于参数已准备好的场景）\n    @Validated(false)\n    TestDtoSync(user: UserDTO) {\n        // 方法执行前立即验证 UserDTO\n    }\n}\n\n// 定义 DTO 类\nexport class UserDTO {\n    @IsNotEmpty({ message: \"手机号不能为空\" })\n    @IsMobile({ message: \"手机号格式不正确\" })\n    phoneNum: string;\n\n    @IsCnName({ message: \"姓名必须是有效的中文姓名\" })\n    userName: string;\n}\n```\n\n## 📋 可用装饰器\n\n### 🇨🇳 中文验证装饰器\n\n```typescript\n@IsCnName()        // 中文姓名\n@IsIdNumber()      // 身份证号\n@IsMobile()        // 手机号\n@IsZipCode()       // 邮政编码\n@IsPlateNumber()   // 车牌号\n```\n\n### 🌐 通用验证装饰器\n\n```typescript\n@IsNotEmpty()      // 非空\n@IsEmail()         // 邮箱\n@IsIP()            // IP地址\n@IsPhoneNumber()   // 国际电话号码\n@IsUrl()           // URL\n@IsHash()          // 哈希值\n@IsDate()          // 日期\n```\n\n### 🔢 数值比较装饰器\n\n```typescript\n@Gt(10)           // 大于\n@Gte(10)          // 大于等于\n@Lt(100)          // 小于\n@Lte(100)         // 小于等于\n@Equals('value')  // 等于\n@NotEquals('x')   // 不等于\n```\n\n### 📝 字符串验证装饰器\n\n```typescript\n@Contains('test')           // 包含字符串\n@IsIn(['a', 'b', 'c'])     // 在数组中\n@IsNotIn(['x', 'y', 'z'])  // 不在数组中\n```\n\n### 🛠️ 控制装饰器\n\n```typescript\n@Valid(rule, options)   // 参数验证\n@Validated()           // DTO验证 (默认异步模式)\n@Validated(true)       // DTO验证 (异步模式)\n@Validated(false)      // DTO验证 (同步模式)\n@Expose()             // 暴露属性\n@IsDefined()          // 已定义（Expose别名）\n```\n\n## 🎭 Validated 装饰器\n\n`@Validated` 装饰器支持同步和异步两种验证模式，以适应不同的应用场景。\n\n### 异步模式（默认）\n\n适用于 **Koatty 框架**中，控制器方法的参数需要异步获取的场景。\n\n```typescript\nimport { Validated, checkValidated } from 'koatty_validation';\n\nclass UserController {\n  // 默认异步模式\n  @Validated()\n  async register(user: UserDTO) {\n    // 框架流程：\n    // 1. 框架接收 HTTP 请求\n    // 2. 框架异步解析请求体，构造 UserDTO 实例\n    // 3. 框架检测到 @Validated() 元数据\n    // 4. 框架调用 checkValidated() 验证参数\n    // 5. 验证通过后调用此方法\n    return { success: true };\n  }\n  \n  // 显式指定异步模式\n  @Validated(true)\n  async update(id: number, user: UserDTO) {\n    return { success: true };\n  }\n}\n```\n\n**异步模式特点：**\n- ✅ 装饰器保存验证元数据到 IOC 容器\n- ✅ 由框架在异步获取参数后执行验证\n- ✅ 适用于参数值需要异步获取的场景\n- ✅ 是 Koatty 框架的推荐模式\n\n### 同步模式\n\n适用于**单元测试**或参数值已经准备好的场景。\n\n```typescript\nclass UserService {\n  // 同步模式 - 立即验证\n  @Validated(false)\n  async createUser(user: UserDTO) {\n    // 方法执行前已经完成验证\n    return { success: true };\n  }\n  \n  // 适用于多个参数的场景\n  @Validated(false)\n  async updateUser(id: number, user: UserDTO) {\n    // 只验证类类型参数（UserDTO），基础类型（number）不验证\n    return { success: true };\n  }\n}\n```\n\n**同步模式特点：**\n- ✅ 装饰器包装原方法，在调用时立即执行验证\n- ✅ 适用于单元测试场景\n- ✅ 适用于参数已准备好的场景\n- ✅ 验证失败立即抛出错误\n\n### 手动调用 checkValidated\n\n在框架拦截器或中间件中，可以手动调用 `checkValidated` 函数：\n\n```typescript\nimport { checkValidated } from 'koatty_validation';\n\nasync function validateInMiddleware(args: any[], paramTypes: any[]) {\n  try {\n    const { validatedArgs, validationTargets } = await checkValidated(args, paramTypes);\n    console.log('验证通过');\n    return validationTargets;\n  } catch (error) {\n    console.error('验证失败:', error);\n    throw error;\n  }\n}\n```\n\n### 选择合适的模式\n\n| 场景 | 推荐模式 | 原因 |\n|------|---------|------|\n| Koatty 框架控制器 | 异步 `@Validated()` | 参数需要异步获取 |\n| 单元测试 | 同步 `@Validated(false)` | 参数已准备好，立即验证 |\n| 独立服务/工具 | 同步 `@Validated(false)` | 不依赖框架，立即验证 |\n| 框架拦截器 | 手动 `checkValidated()` | 完全控制验证时机 |\n\n## 🔧 自定义装饰器\n\n### 使用装饰器工厂创建自定义验证器\n\n```typescript\nimport { createSimpleDecorator, createParameterizedDecorator } from 'koatty_validation';\n\n// 简单装饰器\nexport const IsPositiveInteger = createSimpleDecorator(\n  'IsPositiveInteger',\n  (value: any) => {\n    const num = Number(value);\n    return Number.isInteger(num) && num > 0;\n  },\n  'must be a positive integer'\n);\n\n// 带参数的装饰器\nexport const InRange = createParameterizedDecorator(\n  'InRange',\n  (value: any, min: number, max: number) => {\n    const num = Number(value);\n    return num >= min && num <= max;\n  },\n  'must be between $constraint1 and $constraint2'\n);\n\n// 使用自定义装饰器\nclass ProductDto {\n  @IsPositiveInteger()\n  quantity: number;\n\n  @InRange(0, 100)\n  discountPercent: number;\n}\n```\n\n### 高级自定义装饰器\n\n```typescript\nimport { createValidationDecorator } from 'koatty_validation';\n\n// 复杂验证逻辑\nexport function IsStrongPassword(validationOptions?: ValidationOptions) {\n  return createValidationDecorator({\n    name: 'IsStrongPassword',\n    validator: (value: string) => {\n      const hasLowercase = /[a-z]/.test(value);\n      const hasUppercase = /[A-Z]/.test(value);\n      const hasNumbers = /\\d/.test(value);\n      const hasSpecialChar = /[!@#$%^&*(),.?\":{}|<>]/.test(value);\n      return value.length >= 8 && hasLowercase && hasUppercase && hasNumbers && hasSpecialChar;\n    },\n    defaultMessage: 'password must be at least 8 characters with uppercase, lowercase, number and special character',\n    requiresValue: false\n  })(validationOptions);\n}\n```\n\n## 🚀 性能优化\n\n### 缓存预热\n\n```typescript\nimport { warmupCaches, performanceMonitor } from 'koatty_validation';\n\n// 应用启动时预热缓存\nawait warmupCaches();\n\n// 性能监控\nconst timer = performanceMonitor.startTimer('validation');\n// ... 执行验证\ntimer(); // 结束计时\n\n// 获取性能报告\nconst report = performanceMonitor.getReport();\nconsole.log(report);\n```\n\n### 缓存统计\n\n```typescript\nimport { getAllCacheStats, clearAllCaches } from 'koatty_validation';\n\n// 获取缓存统计\nconst stats = getAllCacheStats();\nconsole.log(stats);\n\n// 清理缓存（用于测试或内存管理）\nclearAllCaches();\n```\n\n## 🌐 错误处理\n\n### 多语言支持\n\n```typescript\nimport { setValidationLanguage, KoattyValidationError } from 'koatty_validation';\n\n// 设置中文错误信息\nsetValidationLanguage('zh');\n\n// 自定义错误处理\ntry {\n  await validate(userDto);\n} catch (error) {\n  if (error instanceof KoattyValidationError) {\n    console.log('验证错误:', error.message);\n    console.log('错误详情:', error.errors);\n  }\n}\n```\n\n### 错误格式化\n\n```typescript\nimport { errorFormatter } from 'koatty_validation';\n\nconst errors = await validate(dto);\nif (errors.length > 0) {\n  const formatted = errorFormatter(errors, 'zh');\n  console.log(formatted);\n}\n```\n\n## 📖 手动验证\n\n### FunctionValidator\n\n```typescript\nimport { FunctionValidator } from 'koatty_validation';\n\n// 手动验证并抛出错误\ntry {\n  FunctionValidator.IsNotEmpty(\"\", \"不能为空\");\n  FunctionValidator.IsMobile(\"123\", \"手机号格式不正确\");\n} catch (error) {\n  console.log(error.message);\n}\n\n// 带选项的验证\nFunctionValidator.Contains(str, {\n  message: \"必须包含字母s\", \n  value: \"s\"\n});\n```\n\n### ValidFuncs (纯函数)\n\n```typescript\nimport { ValidFuncs } from 'koatty_validation';\n\n// 返回布尔值的验证函数\nif (!ValidFuncs.IsNotEmpty(str)) {\n    console.log(\"字符串为空\");\n}\n\nif (!ValidFuncs.IsCnName(\"张三\")) {\n    console.log(\"不是有效的中文姓名\");\n}\n\nif (!ValidFuncs.IsMobile(\"13812345678\")) {\n    console.log(\"不是有效的手机号\");\n}\n```\n\n### ClassValidator\n\n```typescript\nimport { ClassValidator } from 'koatty_validation';\n\nclass UserSchema {\n    @IsDefined()\n    id: number;\n    \n    @IsNotEmpty()\n    name: string;\n\n    @IsMobile()\n    phone: string;\n}\n\n// 验证对象\ntry {\n  const result = await ClassValidator.valid(UserSchema, {\n    id: 1,\n    name: '',\n    phone: '123'\n  });\n} catch (error) {\n  console.log('验证失败:', error.message);\n}\n\n// 转换并验证\nconst validatedData = await ClassValidator.valid(UserSchema, rawData, true);\n```\n\n## 📚 更多示例\n\n查看 [examples](./examples/) 目录获取更多使用示例：\n\n- [基础用法示例](./examples/basic-usage.ts)\n- [自定义装饰器示例](./examples/custom-decorators-example.ts)\n- [完整使用示例](./examples/usage-example.ts)\n- [Validated 异步/同步模式示例](./examples/validated-async-sync-example.ts)\n\n## 🔍 可用验证函数\n\n所有验证函数都同时提供装饰器和函数两种形式：\n\n| 函数名 | 描述 | 示例 |\n|--------|------|------|\n| IsCnName | 中文姓名 | `ValidFuncs.IsCnName(\"张三\")` |\n| IsIdNumber | 身份证号 | `ValidFuncs.IsIdNumber(\"110101199001011234\")` |\n| IsMobile | 手机号 | `ValidFuncs.IsMobile(\"13812345678\")` |\n| IsZipCode | 邮政编码 | `ValidFuncs.IsZipCode(\"100000\")` |\n| IsPlateNumber | 车牌号 | `ValidFuncs.IsPlateNumber(\"京A12345\")` |\n| IsEmail | 邮箱 | `ValidFuncs.IsEmail(\"test@example.com\")` |\n| IsIP | IP地址 | `ValidFuncs.IsIP(\"192.168.1.1\")` |\n| IsPhoneNumber | 国际电话 | `ValidFuncs.IsPhoneNumber(\"+86-138-1234-5678\")` |\n| IsUrl | URL | `ValidFuncs.IsUrl(\"https://example.com\")` |\n| IsHash | 哈希值 | `ValidFuncs.IsHash(\"abc123\", \"md5\")` |\n| IsNotEmpty | 非空 | `ValidFuncs.IsNotEmpty(\"test\")` |\n| Equals | 相等 | `ValidFuncs.Equals(\"a\", \"a\")` |\n| NotEquals | 不相等 | `ValidFuncs.NotEquals(\"a\", \"b\")` |\n| Contains | 包含 | `ValidFuncs.Contains(\"hello\", \"ell\")` |\n| IsIn | 在数组中 | `ValidFuncs.IsIn(\"a\", [\"a\", \"b\"])` |\n| IsNotIn | 不在数组中 | `ValidFuncs.IsNotIn(\"c\", [\"a\", \"b\"])` |\n| IsDate | 日期 | `ValidFuncs.IsDate(new Date())` |\n| Gt | 大于 | `ValidFuncs.Gt(10, 5)` |\n| Gte | 大于等于 | `ValidFuncs.Gte(10, 10)` |\n| Lt | 小于 | `ValidFuncs.Lt(5, 10)` |\n| Lte | 小于等于 | `ValidFuncs.Lte(10, 10)` |\n\n## 📊 测试覆盖率\n\n当前测试覆盖率：**76%+**\n\n- 语句覆盖率: 76.23%\n- 分支覆盖率: 77.92%\n- 函数覆盖率: 69.62%\n- 行覆盖率: 76.14%\n\n## 🤝 贡献\n\n欢迎提交 Issue 和 Pull Request！\n\n## 📄 许可证\n\n[BSD-3-Clause License](LICENSE)\n\n## 🔗 相关项目\n\n- [koatty](https://github.com/koatty/koatty) - 基于 Koa2 的 Node.js 框架\n- [class-validator](https://github.com/typestack/class-validator) - 基础验证库\n\n","readmeFilename":"README.md"}