{"_id":"ruler-factory","_rev":"15-4ca95857392bb241d8527737ce420fda","name":"ruler-factory","dist-tags":{"latest":"0.0.14"},"versions":{"0.0.0":{"name":"ruler-factory","version":"0.0.0","author":{"name":"haoziqaq","email":"357229046@qq.com"},"license":"MIT","_id":"ruler-factory@0.0.0","maintainers":[{"name":"haozijunqaq","email":"haozijunqaq@163.com"}],"homepage":"https://github.com/varletjs/ruler-factory#readme","bugs":{"url":"https://github.com/varletjs/ruler-factory/issues"},"dist":{"shasum":"3b37302741a348f025cd9241f34ed3361ce961de","tarball":"https://registry.npmjs.org/ruler-factory/-/ruler-factory-0.0.0.tgz","fileCount":7,"integrity":"sha512-WYMguN8Csfrc9b0ODK3bDpecvVzNjr5SOudHW2Bw7Pj1RXY/4kRB2Heij23tsXLDlm29QwWA12cLAoLC3cNKZQ==","signatures":[{"sig":"MEUCIGr56pldxLsmyy2pGnqORUoNhFWkaf9zvgMYhl882t1vAiEA9BcEm4uXiadUjjEUXCnufg94RZScGAODBkAFKBbcXcM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78768},"main":"lib/index.cjs","type":"module","types":"lib/index.d.ts","unpkg":"lib/index.global.js","module":"lib/index.js","engines":{"pnpm":">=9.0"},"exports":{".":{"import":"./lib/index.js","require":"./lib/index.cjs"}},"scripts":{"dev":"vitest --coverage","lint":"eslint --fix .","test":"vitest run --coverage","build":"tsup src/index.ts --format esm,cjs,iife --out-dir=lib --global-name=RulerFactory --dts --clean","clean":"rimraf node_modules lib","format":"prettier --write .","prepare":"simple-git-hooks","release":"pnpm build && vr release"},"_npmUser":{"name":"haozijunqaq","email":"haozijunqaq@163.com"},"jsdelivr":"lib/index.global.js","repository":{"url":"git+https://github.com/varletjs/ruler-factory.git","type":"git"},"_npmVersion":"10.8.1","directories":{},"nano-staged":{"*.{md}":"prettier --write","*.{ts}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.16.0","dependencies":{"rattail":"^1.0.23"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.0.0","devDependencies":{"tsup":"8.3.5","jsdom":"^25.0.1","eslint":"9.17.0","rimraf":"^6.0.1","vitest":"^2.1.3","prettier":"^3.1.0","typescript":"5.3.3","@types/node":"^22.8.1","nano-staged":"0.8.0","@varlet/release":"^0.3.1","simple-git-hooks":"^2.11.1","@configurajs/eslint":"^0.0.14","@configurajs/prettier":"^0.1.1","@vitest/coverage-istanbul":"^2.1.3"},"simple-git-hooks":{"commit-msg":"pnpm exec vr commit-lint -p $1","pre-commit":"pnpm exec nano-staged --allow-empty"},"_npmOperationalInternal":{"tmp":"tmp/ruler-factory_0.0.0_1757121182831_0.9644129877395216","host":"s3://npm-registry-packages-npm-production"}},"0.0.1":{"name":"ruler-factory","version":"0.0.1","keywords":["validation","validator","rules","factory","typescript","javascript","chainable","form","data"],"author":{"name":"haoziqaq","email":"357229046@qq.com"},"license":"MIT","_id":"ruler-factory@0.0.1","maintainers":[{"name":"haozijunqaq","email":"haozijunqaq@163.com"}],"homepage":"https://github.com/varletjs/ruler-factory#readme","bugs":{"url":"https://github.com/varletjs/ruler-factory/issues"},"dist":{"shasum":"64ca348380a9f132f898be1a0c20d18f7024d7f5","tarball":"https://registry.npmjs.org/ruler-factory/-/ruler-factory-0.0.1.tgz","fileCount":8,"integrity":"sha512-303rPeDvqzWhILDgxejccJXjcblrcyrI0MdC1jH1nLm7VWMAcXYOIyx03pfBGSrLJxw46Hnp5kdXf/s+2TsBJQ==","signatures":[{"sig":"MEYCIQCaJxzdokMPU+ZzwFuqQIIhiCFaYCN+Hb3MHMsfvlrtjAIhAMq6xNRIItJOs6ewb9J8s2PmLHcxZ1lKjCFwPE5ZrDdu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92691},"main":"lib/index.cjs","type":"module","_from":"file:ruler-factory-0.0.1.tgz","types":"lib/index.d.ts","unpkg":"lib/index.global.js","module":"lib/index.js","engines":{"pnpm":">=9.0"},"exports":{".":{"import":"./lib/index.js","require":"./lib/index.cjs"}},"scripts":{"dev":"vitest --coverage","lint":"eslint --fix .","test":"vitest run --coverage","build":"tsup src/index.ts --format esm,cjs,iife --out-dir=lib --global-name=RulerFactory --dts --clean","clean":"rimraf node_modules lib","format":"prettier --write .","release":"pnpm build && vr release"},"_npmUser":{"name":"haozijunqaq","email":"haozijunqaq@163.com"},"jsdelivr":"lib/index.global.js","_resolved":"/private/var/folders/yf/6hj51h5963x3lsn7nj14wx0w0000gn/T/ba2b1963da420cf870775970981deaf3/ruler-factory-0.0.1.tgz","_integrity":"sha512-303rPeDvqzWhILDgxejccJXjcblrcyrI0MdC1jH1nLm7VWMAcXYOIyx03pfBGSrLJxw46Hnp5kdXf/s+2TsBJQ==","repository":{"url":"git+https://github.com/varletjs/ruler-factory.git","type":"git"},"_npmVersion":"10.8.1","description":"A flexible, chainable validation rule factory for typeScript/javaScript.","directories":{},"nano-staged":{"*.{md}":"prettier --write","*.{ts}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.16.0","dependencies":{"rattail":"^1.0.23"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","jsdom":"^25.0.1","eslint":"9.17.0","rimraf":"^6.0.1","vitest":"^2.1.3","prettier":"^3.1.0","typescript":"5.3.3","@types/node":"^22.8.1","nano-staged":"0.8.0","@varlet/release":"^0.3.1","simple-git-hooks":"^2.11.1","@configurajs/eslint":"^0.0.14","@configurajs/prettier":"^0.1.1","@vitest/coverage-istanbul":"^2.1.3"},"simple-git-hooks":{"commit-msg":"pnpm exec vr commit-lint -p $1","pre-commit":"pnpm exec nano-staged --allow-empty"},"_npmOperationalInternal":{"tmp":"tmp/ruler-factory_0.0.1_1757133313096_0.487520696598418","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"ruler-factory","version":"0.0.2","keywords":["validation","validator","rules","factory"," ","javascript","chainable","form","data"],"author":{"name":"haoziqaq","email":"357229046@qq.com"},"license":"MIT","_id":"ruler-factory@0.0.2","maintainers":[{"name":"haozijunqaq","email":"haozijunqaq@163.com"}],"homepage":"https://github.com/varletjs/ruler-factory#readme","bugs":{"url":"https://github.com/varletjs/ruler-factory/issues"},"dist":{"shasum":"07dc21a2629369c5923a191ce70fd6157ffd449c","tarball":"https://registry.npmjs.org/ruler-factory/-/ruler-factory-0.0.2.tgz","fileCount":8,"integrity":"sha512-rrpNSpz4m5GIxIHs/TWsyAurauZvqgKazGaMjLedo98NlnpR0N21JZEkveRoeAjBN8138y+e6voOE+ZSxESO1g==","signatures":[{"sig":"MEQCID0Y5b7f1vs+LG6Y+4IKNIphPzxDFeG5xeJxoovE4VPVAiBNiledE9+/aT3x90RuFl9ei59uLNGYQMwbHu3nAg+57g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93080},"main":"lib/index.cjs","type":"module","_from":"file:ruler-factory-0.0.2.tgz","types":"lib/index.d.ts","unpkg":"lib/index.global.js","module":"lib/index.js","engines":{"pnpm":">=9.0"},"exports":{".":{"import":"./lib/index.js","require":"./lib/index.cjs"}},"scripts":{"dev":"vitest --coverage","lint":"eslint --fix .","test":"vitest run --coverage","build":"tsup src/index.ts --format esm,cjs,iife --out-dir=lib --global-name=RulerFactory --dts --clean","clean":"rimraf node_modules lib","format":"prettier --write .","release":"pnpm build && vr release"},"_npmUser":{"name":"haozijunqaq","email":"haozijunqaq@163.com"},"jsdelivr":"lib/index.global.js","_resolved":"/private/var/folders/yf/6hj51h5963x3lsn7nj14wx0w0000gn/T/0dfcece7d58ab99f3944ae0530b533ae/ruler-factory-0.0.2.tgz","_integrity":"sha512-rrpNSpz4m5GIxIHs/TWsyAurauZvqgKazGaMjLedo98NlnpR0N21JZEkveRoeAjBN8138y+e6voOE+ZSxESO1g==","repository":{"url":"git+https://github.com/varletjs/ruler-factory.git","type":"git"},"_npmVersion":"10.8.1","description":"A flexible, chainable validation rule factory for typeScript/javaScript.","directories":{},"nano-staged":{"*.{md}":"prettier --write","*.{ts}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.16.0","dependencies":{"rattail":"^1.0.23"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","jsdom":"^25.0.1","eslint":"9.17.0","rimraf":"^6.0.1","vitest":"^2.1.3","prettier":"^3.1.0","typescript":"5.3.3","@types/node":"^22.8.1","nano-staged":"0.8.0","@varlet/release":"^0.3.1","simple-git-hooks":"^2.11.1","@configurajs/eslint":"^0.0.14","@configurajs/prettier":"^0.1.1","@vitest/coverage-istanbul":"^2.1.3"},"simple-git-hooks":{"commit-msg":"pnpm exec vr commit-lint -p $1","pre-commit":"pnpm exec nano-staged --allow-empty"},"_npmOperationalInternal":{"tmp":"tmp/ruler-factory_0.0.2_1757135662837_0.7439922697493799","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"ruler-factory","version":"0.0.3","keywords":["validation","validator","rules","factory"," ","javascript","chainable","form","data"],"author":{"name":"haoziqaq","email":"357229046@qq.com"},"license":"MIT","_id":"ruler-factory@0.0.3","maintainers":[{"name":"haozijunqaq","email":"haozijunqaq@163.com"}],"homepage":"https://github.com/varletjs/ruler-factory#readme","bugs":{"url":"https://github.com/varletjs/ruler-factory/issues"},"dist":{"shasum":"6a480c201340f2386c9d9db426dfef38cb72303c","tarball":"https://registry.npmjs.org/ruler-factory/-/ruler-factory-0.0.3.tgz","fileCount":8,"integrity":"sha512-9EKTg5YZMUFeNfZ/DSXwXM4NZsI9IYdj+U9s5QKDIJr/iMTNKPc1ojdfOjmiKhnYbJ2235UKhZ7GtFo0HX7/+A==","signatures":[{"sig":"MEQCIHfjzpaU1OCC3sxhqFrpLfNj24AYVJxgzbCxFyAyMyizAiApZTh8JAgzeGLaR5IKCIKM2dk6X9araiJSJNHZVXd2dg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93083},"main":"lib/index.cjs","type":"module","_from":"file:ruler-factory-0.0.3.tgz","types":"lib/index.d.ts","unpkg":"lib/index.global.js","module":"lib/index.js","engines":{"pnpm":">=9.0"},"exports":{".":{"import":"./lib/index.js","require":"./lib/index.cjs"}},"scripts":{"dev":"vitest --coverage","lint":"eslint --fix .","test":"vitest run --coverage","build":"tsup src/index.ts --format esm,cjs,iife --out-dir=lib --global-name=RulerFactory --dts --clean","clean":"rimraf node_modules lib","format":"prettier --write .","release":"pnpm build && vr release"},"_npmUser":{"name":"haozijunqaq","email":"haozijunqaq@163.com"},"jsdelivr":"lib/index.global.js","_resolved":"/private/var/folders/yf/6hj51h5963x3lsn7nj14wx0w0000gn/T/2320157ab4e96701d0a6c88d218c9ffe/ruler-factory-0.0.3.tgz","_integrity":"sha512-9EKTg5YZMUFeNfZ/DSXwXM4NZsI9IYdj+U9s5QKDIJr/iMTNKPc1ojdfOjmiKhnYbJ2235UKhZ7GtFo0HX7/+A==","repository":{"url":"git+https://github.com/varletjs/ruler-factory.git","type":"git"},"_npmVersion":"10.8.1","description":"A flexible, chainable validation rule factory for typeScript/javaScript.","directories":{},"nano-staged":{"*.{md}":"prettier --write","*.{ts}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.16.0","dependencies":{"rattail":"^1.0.23"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","jsdom":"^25.0.1","eslint":"9.17.0","rimraf":"^6.0.1","vitest":"^2.1.3","prettier":"^3.1.0","typescript":"5.3.3","@types/node":"^22.8.1","nano-staged":"0.8.0","@varlet/release":"^0.3.1","simple-git-hooks":"^2.11.1","@configurajs/eslint":"^0.0.14","@configurajs/prettier":"^0.1.1","@vitest/coverage-istanbul":"^2.1.3"},"simple-git-hooks":{"commit-msg":"pnpm exec vr commit-lint -p $1","pre-commit":"pnpm exec nano-staged --allow-empty"},"_npmOperationalInternal":{"tmp":"tmp/ruler-factory_0.0.3_1757136361197_0.8846313436322926","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"ruler-factory","version":"0.0.4","keywords":["validation","validator","rules","factory"," ","javascript","chainable","form","data"],"author":{"name":"haoziqaq","email":"357229046@qq.com"},"license":"MIT","_id":"ruler-factory@0.0.4","maintainers":[{"name":"haozijunqaq","email":"haozijunqaq@163.com"}],"homepage":"https://github.com/varletjs/ruler-factory#readme","bugs":{"url":"https://github.com/varletjs/ruler-factory/issues"},"dist":{"shasum":"eec958f30d40b5cb9ba7c557c3bf65ffb55bd6c6","tarball":"https://registry.npmjs.org/ruler-factory/-/ruler-factory-0.0.4.tgz","fileCount":8,"integrity":"sha512-9TYhk5vZJJIUNGyj0Pz2De7MAlCF07YKWl+R0XDTgVZdPQ6rJXhYY1bTeEhwpy9pbZUduJ8KaBThnkBy9ltynA==","signatures":[{"sig":"MEUCIQD6QgW0Zm+cxKfUei6EOuaSr3+8+79kUzrpw3h+7rJOngIgIzwoD6miSuO/vn+SmVb9V8lFv3NUJZfpYnXWyS4kmAk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97668},"main":"lib/index.cjs","type":"module","_from":"file:ruler-factory-0.0.4.tgz","types":"lib/index.d.ts","unpkg":"lib/index.global.js","module":"lib/index.js","engines":{"pnpm":">=9.0"},"exports":{".":{"import":"./lib/index.js","require":"./lib/index.cjs"}},"scripts":{"dev":"vitest --coverage","lint":"eslint --fix .","test":"vitest run --coverage","build":"tsup src/index.ts --format esm,cjs,iife --out-dir=lib --global-name=RulerFactory --dts --clean","clean":"rimraf node_modules lib","format":"prettier --write .","release":"pnpm build && vr release"},"_npmUser":{"name":"haozijunqaq","email":"haozijunqaq@163.com"},"jsdelivr":"lib/index.global.js","_resolved":"/private/var/folders/yf/6hj51h5963x3lsn7nj14wx0w0000gn/T/0020c71cbf15908b65354218a6427227/ruler-factory-0.0.4.tgz","_integrity":"sha512-9TYhk5vZJJIUNGyj0Pz2De7MAlCF07YKWl+R0XDTgVZdPQ6rJXhYY1bTeEhwpy9pbZUduJ8KaBThnkBy9ltynA==","repository":{"url":"git+https://github.com/varletjs/ruler-factory.git","type":"git"},"_npmVersion":"10.8.1","description":"A flexible, chainable validation rule factory for typeScript/javaScript.","directories":{},"nano-staged":{"*.{md}":"prettier --write","*.{ts}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.16.0","dependencies":{"rattail":"^1.0.23"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","jsdom":"^25.0.1","eslint":"9.17.0","rimraf":"^6.0.1","vitest":"^2.1.3","prettier":"^3.1.0","typescript":"5.3.3","@types/node":"^22.8.1","nano-staged":"0.8.0","@varlet/release":"^0.3.1","simple-git-hooks":"^2.11.1","@configurajs/eslint":"^0.0.14","@configurajs/prettier":"^0.1.1","@vitest/coverage-istanbul":"^2.1.3"},"simple-git-hooks":{"commit-msg":"pnpm exec vr commit-lint -p $1","pre-commit":"pnpm exec nano-staged --allow-empty"},"_npmOperationalInternal":{"tmp":"tmp/ruler-factory_0.0.4_1757145995179_0.8955527917078439","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"ruler-factory","version":"0.0.5","keywords":["validation","validator","rules","factory"," ","javascript","chainable","form","data"],"author":{"name":"haoziqaq","email":"357229046@qq.com"},"license":"MIT","_id":"ruler-factory@0.0.5","maintainers":[{"name":"haozijunqaq","email":"haozijunqaq@163.com"}],"homepage":"https://github.com/varletjs/ruler-factory#readme","bugs":{"url":"https://github.com/varletjs/ruler-factory/issues"},"dist":{"shasum":"1c8955b5660706ff886c8f783a6d002638299c2f","tarball":"https://registry.npmjs.org/ruler-factory/-/ruler-factory-0.0.5.tgz","fileCount":8,"integrity":"sha512-qJnhCMeudxWgSU0d15SxDk6krxnWQxNmeo+7DHxMB4pJbC/Ecmjil5Qm6Fd8UmJgRFZ05xOu/IXMTM18YOSvuQ==","signatures":[{"sig":"MEUCIEqs+ER6YSZ8/zqM1SDQl/+GsYQpGiQBZSTvE4IFYSLyAiEA9CU16VwQNoKRg3rCWAcaUs3uFoI8s+yvb2fV+tBjaLk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97832},"main":"lib/index.cjs","type":"module","_from":"file:ruler-factory-0.0.5.tgz","types":"lib/index.d.ts","unpkg":"lib/index.global.js","module":"lib/index.js","engines":{"pnpm":">=9.0"},"exports":{".":{"import":"./lib/index.js","require":"./lib/index.cjs"}},"scripts":{"dev":"vitest --coverage","lint":"eslint --fix .","test":"vitest run --coverage","build":"tsup src/index.ts --format esm,cjs,iife --out-dir=lib --global-name=RulerFactory --dts --clean","clean":"rimraf node_modules lib","format":"prettier --write .","release":"pnpm build && vr release"},"_npmUser":{"name":"haozijunqaq","email":"haozijunqaq@163.com"},"jsdelivr":"lib/index.global.js","_resolved":"/private/var/folders/yf/6hj51h5963x3lsn7nj14wx0w0000gn/T/1f9ec30125f03988fc7c049c72a60e45/ruler-factory-0.0.5.tgz","_integrity":"sha512-qJnhCMeudxWgSU0d15SxDk6krxnWQxNmeo+7DHxMB4pJbC/Ecmjil5Qm6Fd8UmJgRFZ05xOu/IXMTM18YOSvuQ==","repository":{"url":"git+https://github.com/varletjs/ruler-factory.git","type":"git"},"_npmVersion":"10.8.1","description":"A flexible, chainable validation rule factory for typeScript/javaScript.","directories":{},"nano-staged":{"*.{md}":"prettier --write","*.{ts}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.16.0","dependencies":{"rattail":"^1.0.23"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","jsdom":"^25.0.1","eslint":"9.17.0","rimraf":"^6.0.1","vitest":"^2.1.3","prettier":"^3.1.0","typescript":"5.3.3","@types/node":"^22.8.1","nano-staged":"0.8.0","@varlet/release":"^0.3.1","simple-git-hooks":"^2.11.1","@configurajs/eslint":"^0.0.14","@configurajs/prettier":"^0.1.1","@vitest/coverage-istanbul":"^2.1.3"},"simple-git-hooks":{"commit-msg":"pnpm exec vr commit-lint -p $1","pre-commit":"pnpm exec nano-staged --allow-empty"},"_npmOperationalInternal":{"tmp":"tmp/ruler-factory_0.0.5_1757148891216_0.8539051411874647","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"ruler-factory","version":"0.0.6","keywords":["validation","validator","rules","factory"," ","javascript","chainable","form","data"],"author":{"name":"haoziqaq","email":"357229046@qq.com"},"license":"MIT","_id":"ruler-factory@0.0.6","maintainers":[{"name":"haozijunqaq","email":"haozijunqaq@163.com"}],"homepage":"https://github.com/varletjs/ruler-factory#readme","bugs":{"url":"https://github.com/varletjs/ruler-factory/issues"},"dist":{"shasum":"d3fd8c2631c2a195161c82f6bafe6962d6e63c43","tarball":"https://registry.npmjs.org/ruler-factory/-/ruler-factory-0.0.6.tgz","fileCount":8,"integrity":"sha512-Up3FfrxqpTzxTEFj1OLM1+Mr5cFm0YUOdVgHL4wsKgsrJc38EGSbBscdof3JmCpfYw6EXbC54kBs0d5TnZTFjg==","signatures":[{"sig":"MEUCIQCdN4cSsZkKoNR4qc9dVHyixEA3OCo8PzTcCz1OhmwLUwIgG2Dszot1g5QGhvLn77nrQSHhDmLxbQVNDtosJcMPXzc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97668},"main":"lib/index.cjs","type":"module","_from":"file:ruler-factory-0.0.6.tgz","types":"lib/index.d.ts","unpkg":"lib/index.global.js","module":"lib/index.js","engines":{"pnpm":">=9.0"},"exports":{".":{"import":"./lib/index.js","require":"./lib/index.cjs"}},"scripts":{"dev":"vitest --coverage","lint":"eslint --fix .","test":"vitest run --coverage","build":"tsup src/index.ts --format esm,cjs,iife --out-dir=lib --global-name=RulerFactory --dts --clean","clean":"rimraf node_modules lib","format":"prettier --write .","release":"pnpm build && vr release"},"_npmUser":{"name":"haozijunqaq","email":"haozijunqaq@163.com"},"jsdelivr":"lib/index.global.js","_resolved":"/private/var/folders/yf/6hj51h5963x3lsn7nj14wx0w0000gn/T/64e29c7af1ec718e034b0962e2c451bc/ruler-factory-0.0.6.tgz","_integrity":"sha512-Up3FfrxqpTzxTEFj1OLM1+Mr5cFm0YUOdVgHL4wsKgsrJc38EGSbBscdof3JmCpfYw6EXbC54kBs0d5TnZTFjg==","repository":{"url":"git+https://github.com/varletjs/ruler-factory.git","type":"git"},"_npmVersion":"10.8.1","description":"A flexible, chainable validation rule factory for typeScript/javaScript.","directories":{},"nano-staged":{"*.{md}":"prettier --write","*.{ts}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.16.0","dependencies":{"rattail":"^1.0.23"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","jsdom":"^25.0.1","eslint":"9.17.0","rimraf":"^6.0.1","vitest":"^2.1.3","prettier":"^3.1.0","typescript":"5.3.3","@types/node":"^22.8.1","nano-staged":"0.8.0","@varlet/release":"^0.3.1","simple-git-hooks":"^2.11.1","@configurajs/eslint":"^0.0.14","@configurajs/prettier":"^0.1.1","@vitest/coverage-istanbul":"^2.1.3"},"simple-git-hooks":{"commit-msg":"pnpm exec vr commit-lint -p $1","pre-commit":"pnpm exec nano-staged --allow-empty"},"_npmOperationalInternal":{"tmp":"tmp/ruler-factory_0.0.6_1757149884512_0.3946840519775381","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"ruler-factory","version":"0.0.7","keywords":["validation","validator","rules","factory"," ","javascript","chainable","form","data"],"author":{"name":"haoziqaq","email":"357229046@qq.com"},"license":"MIT","_id":"ruler-factory@0.0.7","maintainers":[{"name":"haozijunqaq","email":"haozijunqaq@163.com"}],"homepage":"https://github.com/varletjs/ruler-factory#readme","bugs":{"url":"https://github.com/varletjs/ruler-factory/issues"},"dist":{"shasum":"54ea0a3954112e3fbe8172560d8ccd5c021265f2","tarball":"https://registry.npmjs.org/ruler-factory/-/ruler-factory-0.0.7.tgz","fileCount":8,"integrity":"sha512-EYS89cApJr6HMd9cth+6wBIwc9lgrzB8HuI9+jzEfAaHQ1lUOTQYNEQRTzhl2OW3gLRoHaeMREpaH87DAevkDw==","signatures":[{"sig":"MEQCIBGBSIAZMEGmhPoInNcXkSQmfc+u3arfqVcO413NLjFvAiBei+ZVBvgBfpXhVvvZE37DScivaYrX+61yU7zrzhcMdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97658},"main":"lib/index.cjs","type":"module","_from":"file:ruler-factory-0.0.7.tgz","types":"lib/index.d.ts","unpkg":"lib/index.global.js","module":"lib/index.js","engines":{"pnpm":">=9.0"},"exports":{".":{"import":"./lib/index.js","require":"./lib/index.cjs"}},"scripts":{"dev":"vitest --coverage","lint":"eslint --fix .","test":"vitest run --coverage","build":"tsup src/index.ts --format esm,cjs,iife --out-dir=lib --global-name=RulerFactory --dts --clean","clean":"rimraf node_modules lib","format":"prettier --write .","release":"pnpm build && vr release"},"_npmUser":{"name":"haozijunqaq","email":"haozijunqaq@163.com"},"jsdelivr":"lib/index.global.js","_resolved":"/private/var/folders/yf/6hj51h5963x3lsn7nj14wx0w0000gn/T/c9de6bb2d371f262758a2df6b39ba012/ruler-factory-0.0.7.tgz","_integrity":"sha512-EYS89cApJr6HMd9cth+6wBIwc9lgrzB8HuI9+jzEfAaHQ1lUOTQYNEQRTzhl2OW3gLRoHaeMREpaH87DAevkDw==","repository":{"url":"git+https://github.com/varletjs/ruler-factory.git","type":"git"},"_npmVersion":"10.8.1","description":"A flexible, chainable validation rule factory for typeScript/javaScript.","directories":{},"nano-staged":{"*.{md}":"prettier --write","*.{ts}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.16.0","dependencies":{"rattail":"^1.0.23"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","jsdom":"^25.0.1","eslint":"9.17.0","rimraf":"^6.0.1","vitest":"^2.1.3","prettier":"^3.1.0","typescript":"5.3.3","@types/node":"^22.8.1","nano-staged":"0.8.0","@varlet/release":"^0.3.1","simple-git-hooks":"^2.11.1","@configurajs/eslint":"^0.0.14","@configurajs/prettier":"^0.1.1","@vitest/coverage-istanbul":"^2.1.3"},"simple-git-hooks":{"commit-msg":"pnpm exec vr commit-lint -p $1","pre-commit":"pnpm exec nano-staged --allow-empty"},"_npmOperationalInternal":{"tmp":"tmp/ruler-factory_0.0.7_1757150746013_0.7478565707893441","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"ruler-factory","version":"0.0.8","keywords":["validation","validator","rules","factory"," ","javascript","chainable","form","data"],"author":{"name":"haoziqaq","email":"357229046@qq.com"},"license":"MIT","_id":"ruler-factory@0.0.8","maintainers":[{"name":"haozijunqaq","email":"haozijunqaq@163.com"}],"homepage":"https://github.com/varletjs/ruler-factory#readme","bugs":{"url":"https://github.com/varletjs/ruler-factory/issues"},"dist":{"shasum":"ee5af13a008adf61efda3a64437ec9465e690834","tarball":"https://registry.npmjs.org/ruler-factory/-/ruler-factory-0.0.8.tgz","fileCount":8,"integrity":"sha512-eHpE89gCj9qBGA95WV8TMG2wEgCKAC+FYOibxS70ppb/UqRyOtocKKTZ50vbysgwkrZswz6BgQzvGbBLfoxCDQ==","signatures":[{"sig":"MEUCIQDipqKMI8EuSBu+zS1Rgha4/kaBcYKLMvOPJ3wzpaNPYgIgBTIL046oalmSfLrvHpc2DmacLs0pw5Qbff/X1slYEmY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97668},"main":"lib/index.cjs","type":"module","_from":"file:ruler-factory-0.0.8.tgz","types":"lib/index.d.ts","unpkg":"lib/index.global.js","module":"lib/index.js","engines":{"pnpm":">=9.0"},"exports":{".":{"import":"./lib/index.js","require":"./lib/index.cjs"}},"scripts":{"dev":"vitest --coverage","lint":"eslint --fix .","test":"vitest run --coverage","build":"tsup src/index.ts --format esm,cjs,iife --out-dir=lib --global-name=RulerFactory --dts --clean","clean":"rimraf node_modules lib","format":"prettier --write .","release":"pnpm build && vr release"},"_npmUser":{"name":"haozijunqaq","email":"haozijunqaq@163.com"},"jsdelivr":"lib/index.global.js","_resolved":"/private/var/folders/yf/6hj51h5963x3lsn7nj14wx0w0000gn/T/952533343f3d658d9138082cdb4d14fd/ruler-factory-0.0.8.tgz","_integrity":"sha512-eHpE89gCj9qBGA95WV8TMG2wEgCKAC+FYOibxS70ppb/UqRyOtocKKTZ50vbysgwkrZswz6BgQzvGbBLfoxCDQ==","repository":{"url":"git+https://github.com/varletjs/ruler-factory.git","type":"git"},"_npmVersion":"10.8.1","description":"A flexible, chainable validation rule factory for typeScript/javaScript.","directories":{},"nano-staged":{"*.{md}":"prettier --write","*.{ts}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.16.0","dependencies":{"rattail":"^1.0.23"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","jsdom":"^25.0.1","eslint":"9.17.0","rimraf":"^6.0.1","vitest":"^2.1.3","prettier":"^3.1.0","typescript":"5.3.3","@types/node":"^22.8.1","nano-staged":"0.8.0","@varlet/release":"^0.3.1","simple-git-hooks":"^2.11.1","@configurajs/eslint":"^0.0.14","@configurajs/prettier":"^0.1.1","@vitest/coverage-istanbul":"^2.1.3"},"simple-git-hooks":{"commit-msg":"pnpm exec vr commit-lint -p $1","pre-commit":"pnpm exec nano-staged --allow-empty"},"_npmOperationalInternal":{"tmp":"tmp/ruler-factory_0.0.8_1757151532419_0.5347548461372731","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"ruler-factory","version":"0.0.9","keywords":["validation","validator","rules","factory"," ","javascript","chainable","form","data"],"author":{"name":"haoziqaq","email":"357229046@qq.com"},"license":"MIT","_id":"ruler-factory@0.0.9","maintainers":[{"name":"haozijunqaq","email":"haozijunqaq@163.com"}],"homepage":"https://github.com/varletjs/ruler-factory#readme","bugs":{"url":"https://github.com/varletjs/ruler-factory/issues"},"dist":{"shasum":"143babf8c6d3df1d08060ef904542b96a668314d","tarball":"https://registry.npmjs.org/ruler-factory/-/ruler-factory-0.0.9.tgz","fileCount":8,"integrity":"sha512-29wU4QLDg1p27GP33MfFSxJqGAIn01NkqqZTk9GCcv6+9awr6mduMzr1O5MmqH1d0neK2EKfn6PegAyg3DxuQw==","signatures":[{"sig":"MEYCIQDkAvgdJ350xrkkFdYnEuSFe2RD3ix6nvjtjDxT2x5CDAIhAIEfFrni43ehcth/HAnIsoiP/eORk02BqYbYxkHU/Oq6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97666},"main":"lib/index.cjs","type":"module","_from":"file:ruler-factory-0.0.9.tgz","types":"lib/index.d.ts","unpkg":"lib/index.global.js","module":"lib/index.js","engines":{"pnpm":">=9.0"},"exports":{".":{"import":"./lib/index.js","require":"./lib/index.cjs"}},"scripts":{"dev":"vitest --coverage","lint":"eslint --fix .","test":"vitest run --coverage","build":"tsup src/index.ts --format esm,cjs,iife --out-dir=lib --global-name=RulerFactory --dts --clean","clean":"rimraf node_modules lib","format":"prettier --write .","release":"pnpm build && vr release"},"_npmUser":{"name":"haozijunqaq","email":"haozijunqaq@163.com"},"jsdelivr":"lib/index.global.js","_resolved":"/private/var/folders/yf/6hj51h5963x3lsn7nj14wx0w0000gn/T/5824d8538aa17ff8605ca27316ac8394/ruler-factory-0.0.9.tgz","_integrity":"sha512-29wU4QLDg1p27GP33MfFSxJqGAIn01NkqqZTk9GCcv6+9awr6mduMzr1O5MmqH1d0neK2EKfn6PegAyg3DxuQw==","repository":{"url":"git+https://github.com/varletjs/ruler-factory.git","type":"git"},"_npmVersion":"10.8.1","description":"A flexible, chainable validation rule factory for typeScript/javaScript.","directories":{},"nano-staged":{"*.{md}":"prettier --write","*.{ts}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.16.0","dependencies":{"rattail":"^1.0.23"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","jsdom":"^25.0.1","eslint":"9.17.0","rimraf":"^6.0.1","vitest":"^2.1.3","prettier":"^3.1.0","typescript":"5.3.3","@types/node":"^22.8.1","nano-staged":"0.8.0","@varlet/release":"^0.3.1","simple-git-hooks":"^2.11.1","@configurajs/eslint":"^0.0.14","@configurajs/prettier":"^0.1.1","@vitest/coverage-istanbul":"^2.1.3"},"simple-git-hooks":{"commit-msg":"pnpm exec vr commit-lint -p $1","pre-commit":"pnpm exec nano-staged --allow-empty"},"_npmOperationalInternal":{"tmp":"tmp/ruler-factory_0.0.9_1757152117321_0.6090602775650593","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"ruler-factory","version":"0.0.10","keywords":["validation","validator","rules","factory"," ","javascript","chainable","form","data"],"author":{"name":"haoziqaq","email":"357229046@qq.com"},"license":"MIT","_id":"ruler-factory@0.0.10","maintainers":[{"name":"haozijunqaq","email":"haozijunqaq@163.com"}],"homepage":"https://github.com/varletjs/ruler-factory#readme","bugs":{"url":"https://github.com/varletjs/ruler-factory/issues"},"dist":{"shasum":"0a14b2c7f2f279bca90dcfab5104de829e9d2dcb","tarball":"https://registry.npmjs.org/ruler-factory/-/ruler-factory-0.0.10.tgz","fileCount":8,"integrity":"sha512-svjdDgMySPQbj0qLZYknm3pXCLVMuXpsX6FstDp4rpRRN00P+8PyWAKv/v2OV+yRD6iDVrmK7YygXR/3KCO3cA==","signatures":[{"sig":"MEUCIQDtZ2q1auBRMGvdBZZnksBe6SqwCNv8gaLr1kg/hX984AIgCmLQR0mE73jTX03RblN4B3LC+NIOPyzBxL6vQbWzL9M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97627},"main":"lib/index.cjs","type":"module","_from":"file:ruler-factory-0.0.10.tgz","types":"lib/index.d.ts","unpkg":"lib/index.global.js","module":"lib/index.js","engines":{"pnpm":">=9.0"},"exports":{".":{"import":"./lib/index.js","require":"./lib/index.cjs"}},"scripts":{"dev":"vitest --coverage","lint":"eslint --fix .","test":"vitest run --coverage","build":"tsup src/index.ts --format esm,cjs,iife --out-dir=lib --global-name=RulerFactory --dts --clean","clean":"rimraf node_modules lib","format":"prettier --write .","release":"pnpm build && vr release"},"_npmUser":{"name":"haozijunqaq","email":"haozijunqaq@163.com"},"jsdelivr":"lib/index.global.js","_resolved":"/private/var/folders/yf/6hj51h5963x3lsn7nj14wx0w0000gn/T/a9e7abc3d2fb7297718f3a88c4c35f9a/ruler-factory-0.0.10.tgz","_integrity":"sha512-svjdDgMySPQbj0qLZYknm3pXCLVMuXpsX6FstDp4rpRRN00P+8PyWAKv/v2OV+yRD6iDVrmK7YygXR/3KCO3cA==","repository":{"url":"git+https://github.com/varletjs/ruler-factory.git","type":"git"},"_npmVersion":"10.8.1","description":"A flexible, chainable validation rule factory for typeScript/javaScript.","directories":{},"nano-staged":{"*.{md}":"prettier --write","*.{ts}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.16.0","dependencies":{"rattail":"^1.0.23"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","jsdom":"^25.0.1","eslint":"9.17.0","rimraf":"^6.0.1","vitest":"^2.1.3","prettier":"^3.1.0","typescript":"5.3.3","@types/node":"^22.8.1","nano-staged":"0.8.0","@varlet/release":"^0.3.1","simple-git-hooks":"^2.11.1","@configurajs/eslint":"^0.0.14","@configurajs/prettier":"^0.1.1","@vitest/coverage-istanbul":"^2.1.3"},"simple-git-hooks":{"commit-msg":"pnpm exec vr commit-lint -p $1","pre-commit":"pnpm exec nano-staged --allow-empty"},"_npmOperationalInternal":{"tmp":"tmp/ruler-factory_0.0.10_1757152534720_0.39837112330065483","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"ruler-factory","version":"0.0.11","keywords":["validation","validator","rules","factory"," ","javascript","chainable","form","data"],"author":{"name":"haoziqaq","email":"357229046@qq.com"},"license":"MIT","_id":"ruler-factory@0.0.11","maintainers":[{"name":"haozijunqaq","email":"haozijunqaq@163.com"}],"homepage":"https://github.com/varletjs/ruler-factory#readme","bugs":{"url":"https://github.com/varletjs/ruler-factory/issues"},"dist":{"shasum":"4eff36c4d7dc6b9b5ea8dee1a3057b504a854f08","tarball":"https://registry.npmjs.org/ruler-factory/-/ruler-factory-0.0.11.tgz","fileCount":8,"integrity":"sha512-ximLM6UX7rUfL7H/jQQO8WoZZoYrg29RS3mJutOJxS4zSwtrA9ty6PhWDSSOU87bUq6usXG6FB8pqC6XxdZrAw==","signatures":[{"sig":"MEQCIBm4OCN24A5/AE/YZHlQ2COxYamPN6Hb3XOKgdsN5ejWAiBKYf2YiOkfhDFbJv5eNO/U+6qvGo1QzMKGXTiEDn14IQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95504},"main":"lib/index.cjs","type":"module","_from":"file:ruler-factory-0.0.11.tgz","types":"lib/index.d.ts","unpkg":"lib/index.global.js","module":"lib/index.js","engines":{"pnpm":">=9.0"},"exports":{".":{"import":"./lib/index.js","require":"./lib/index.cjs"}},"scripts":{"dev":"vitest --coverage","lint":"eslint --fix .","test":"vitest run --coverage","build":"tsup src/index.ts --format esm,cjs,iife --out-dir=lib --global-name=RulerFactory --dts --clean","clean":"rimraf node_modules lib","format":"prettier --write .","release":"pnpm build && vr release"},"_npmUser":{"name":"haozijunqaq","email":"haozijunqaq@163.com"},"jsdelivr":"lib/index.global.js","_resolved":"/private/var/folders/yf/6hj51h5963x3lsn7nj14wx0w0000gn/T/afdeb031e25fefeb11ad046930f9a0f1/ruler-factory-0.0.11.tgz","_integrity":"sha512-ximLM6UX7rUfL7H/jQQO8WoZZoYrg29RS3mJutOJxS4zSwtrA9ty6PhWDSSOU87bUq6usXG6FB8pqC6XxdZrAw==","repository":{"url":"git+https://github.com/varletjs/ruler-factory.git","type":"git"},"_npmVersion":"10.8.1","description":"A flexible, chainable validation rule factory for typeScript/javaScript.","directories":{},"nano-staged":{"*.{md}":"prettier --write","*.{ts}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.16.0","dependencies":{"rattail":"^1.0.23"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","jsdom":"^25.0.1","eslint":"9.17.0","rimraf":"^6.0.1","vitest":"^2.1.3","prettier":"^3.1.0","typescript":"5.3.3","@types/node":"^22.8.1","nano-staged":"0.8.0","@varlet/release":"^0.3.1","simple-git-hooks":"^2.11.1","@configurajs/eslint":"^0.0.14","@configurajs/prettier":"^0.1.1","@vitest/coverage-istanbul":"^2.1.3"},"simple-git-hooks":{"commit-msg":"pnpm exec vr commit-lint -p $1","pre-commit":"pnpm exec nano-staged --allow-empty"},"_npmOperationalInternal":{"tmp":"tmp/ruler-factory_0.0.11_1757153066122_0.6279540607341738","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"ruler-factory","version":"0.0.12","keywords":["validation","validator","rules","factory"," ","javascript","chainable","form","data"],"author":{"name":"haoziqaq","email":"357229046@qq.com"},"license":"MIT","_id":"ruler-factory@0.0.12","maintainers":[{"name":"haozijunqaq","email":"haozijunqaq@163.com"}],"homepage":"https://github.com/varletjs/ruler-factory#readme","bugs":{"url":"https://github.com/varletjs/ruler-factory/issues"},"dist":{"shasum":"769c9924c511073f8c3c1b4ef1bf885a4ee751c8","tarball":"https://registry.npmjs.org/ruler-factory/-/ruler-factory-0.0.12.tgz","fileCount":8,"integrity":"sha512-5+HFLBxGbWiSDtJS9bV0+7QP1Uf75zqxU5rOfDs9KwbPx09rS6L4P4AqUyT6Aqp0lKitNwLsAf7omy29WIaX3w==","signatures":[{"sig":"MEUCIAkx+i2tTjW/ukT2Cppfs9X3pQmk6B7VMrMIQ09xvQVQAiEA+IRatBaj3Dy3kW1Y0RqA6JTwSCmXmLcS1gKYm5CRA30=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96452},"main":"lib/index.cjs","type":"module","_from":"file:ruler-factory-0.0.12.tgz","types":"lib/index.d.ts","unpkg":"lib/index.global.js","module":"lib/index.js","engines":{"pnpm":">=9.0"},"exports":{".":{"import":"./lib/index.js","require":"./lib/index.cjs"}},"scripts":{"dev":"vitest --coverage","lint":"eslint --fix .","test":"vitest run --coverage","build":"tsup src/index.ts --format esm,cjs,iife --out-dir=lib --global-name=RulerFactory --dts --clean","clean":"rimraf node_modules lib","format":"prettier --write .","release":"pnpm build && vr release"},"_npmUser":{"name":"haozijunqaq","email":"haozijunqaq@163.com"},"jsdelivr":"lib/index.global.js","_resolved":"/private/var/folders/yf/6hj51h5963x3lsn7nj14wx0w0000gn/T/02f554e05f930491c05488be04edd1b1/ruler-factory-0.0.12.tgz","_integrity":"sha512-5+HFLBxGbWiSDtJS9bV0+7QP1Uf75zqxU5rOfDs9KwbPx09rS6L4P4AqUyT6Aqp0lKitNwLsAf7omy29WIaX3w==","repository":{"url":"git+https://github.com/varletjs/ruler-factory.git","type":"git"},"_npmVersion":"10.8.1","description":"A flexible, chainable validation rule factory for typeScript/javaScript.","directories":{},"nano-staged":{"*.{md}":"prettier --write","*.{ts}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.16.0","dependencies":{"rattail":"^1.0.23"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","jsdom":"^25.0.1","eslint":"9.17.0","rimraf":"^6.0.1","vitest":"^2.1.3","prettier":"^3.1.0","typescript":"5.3.3","@types/node":"^22.8.1","nano-staged":"0.8.0","@varlet/release":"^0.3.1","simple-git-hooks":"^2.11.1","@configurajs/eslint":"^0.0.14","@configurajs/prettier":"^0.1.1","@vitest/coverage-istanbul":"^2.1.3"},"simple-git-hooks":{"commit-msg":"pnpm exec vr commit-lint -p $1","pre-commit":"pnpm exec nano-staged --allow-empty"},"_npmOperationalInternal":{"tmp":"tmp/ruler-factory_0.0.12_1757159487750_0.38194237352458105","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"ruler-factory","version":"0.0.13","keywords":["validation","validator","rules","factory"," ","javascript","chainable","form","data"],"author":{"name":"haoziqaq","email":"357229046@qq.com"},"license":"MIT","_id":"ruler-factory@0.0.13","maintainers":[{"name":"haozijunqaq","email":"haozijunqaq@163.com"}],"homepage":"https://github.com/varletjs/ruler-factory#readme","bugs":{"url":"https://github.com/varletjs/ruler-factory/issues"},"dist":{"shasum":"e2340bbac4dc5d542338449b5c685c3abf7fb227","tarball":"https://registry.npmjs.org/ruler-factory/-/ruler-factory-0.0.13.tgz","fileCount":8,"integrity":"sha512-k7OFEnd9WoE185b2x5woO0cZ9LhwcISOp/sIVSf+u1nXt49qSkxcUIynB4KfX3K/8LLDLL8oIit0ggHfOZKx9A==","signatures":[{"sig":"MEUCIDgSw9hs+CEki4iyYhMRuTsG3wLyv+hVHP4vDAIwZLWYAiEA58ioFYg2sWduJo0T5PnNnpW7m7rlf9zNWEZrE9aWYiY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96369},"main":"lib/index.cjs","type":"module","_from":"file:ruler-factory-0.0.13.tgz","types":"lib/index.d.ts","unpkg":"lib/index.global.js","module":"lib/index.js","engines":{"pnpm":">=9.0"},"exports":{".":{"import":"./lib/index.js","require":"./lib/index.cjs"}},"scripts":{"dev":"vitest --coverage","lint":"eslint --fix .","test":"vitest run --coverage","build":"tsup src/index.ts --format esm,cjs,iife --out-dir=lib --global-name=RulerFactory --dts --clean","clean":"rimraf node_modules lib","format":"prettier --write .","release":"pnpm build && vr release"},"_npmUser":{"name":"haozijunqaq","email":"haozijunqaq@163.com"},"jsdelivr":"lib/index.global.js","_resolved":"/private/var/folders/yf/6hj51h5963x3lsn7nj14wx0w0000gn/T/05fa4c608dabddf897082dc341f5a7ea/ruler-factory-0.0.13.tgz","_integrity":"sha512-k7OFEnd9WoE185b2x5woO0cZ9LhwcISOp/sIVSf+u1nXt49qSkxcUIynB4KfX3K/8LLDLL8oIit0ggHfOZKx9A==","repository":{"url":"git+https://github.com/varletjs/ruler-factory.git","type":"git"},"_npmVersion":"10.8.1","description":"A flexible, chainable validation rule factory for typeScript/javaScript.","directories":{},"nano-staged":{"*.{md}":"prettier --write","*.{ts}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.16.0","dependencies":{"rattail":"^1.0.23"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","jsdom":"^25.0.1","eslint":"9.17.0","rimraf":"^6.0.1","vitest":"^2.1.3","prettier":"^3.1.0","typescript":"5.3.3","@types/node":"^22.8.1","nano-staged":"0.8.0","@varlet/release":"^0.3.1","simple-git-hooks":"^2.11.1","@configurajs/eslint":"^0.0.14","@configurajs/prettier":"^0.1.1","@vitest/coverage-istanbul":"^2.1.3"},"simple-git-hooks":{"commit-msg":"pnpm exec vr commit-lint -p $1","pre-commit":"pnpm exec nano-staged --allow-empty"},"_npmOperationalInternal":{"tmp":"tmp/ruler-factory_0.0.13_1757249376994_0.9935753746382918","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"ruler-factory","version":"0.0.14","description":"A flexible, chainable validation rule factory for typeScript/javaScript.","keywords":["validation","validator","rules","factory"," ","javascript","chainable","form","data"],"bugs":{"url":"https://github.com/varletjs/ruler-factory/issues"},"repository":{"type":"git","url":"git+https://github.com/varletjs/ruler-factory.git"},"license":"MIT","author":{"name":"haoziqaq","email":"357229046@qq.com"},"sideEffects":false,"type":"module","exports":{".":{"import":"./lib/index.js","require":"./lib/index.cjs"}},"main":"lib/index.cjs","jsdelivr":"lib/index.global.js","unpkg":"lib/index.global.js","module":"lib/index.js","types":"lib/index.d.ts","simple-git-hooks":{"pre-commit":"pnpm exec nano-staged --allow-empty","commit-msg":"pnpm exec vr commit-lint -p $1"},"nano-staged":{"*.{md}":"prettier --write","*.{ts}":["prettier --write","eslint --fix"]},"dependencies":{"rattail":"^1.3.0"},"devDependencies":{"@configurajs/eslint":"^0.0.14","@configurajs/prettier":"^0.1.1","@types/node":"^22.8.1","@varlet/release":"^0.3.1","@vitest/coverage-istanbul":"^2.1.3","eslint":"9.17.0","jsdom":"^25.0.1","nano-staged":"0.8.0","prettier":"^3.1.0","rimraf":"^6.0.1","simple-git-hooks":"^2.11.1","tsup":"8.3.5","typescript":"5.3.3","vitest":"^2.1.3"},"engines":{"pnpm":">=9.0"},"scripts":{"build":"tsup src/index.ts --format esm,cjs,iife --out-dir=lib --global-name=RulerFactory --dts --clean","clean":"rimraf node_modules lib","dev":"vitest --coverage","format":"prettier --write .","lint":"eslint --fix .","release":"pnpm build && vr release","test":"vitest run --coverage"},"_id":"ruler-factory@0.0.14","homepage":"https://github.com/varletjs/ruler-factory#readme","_integrity":"sha512-L67dHMHs6IWqCGYamELPd7sgORyzE2Wwn4wNePo6Dv4h5qLKt94srMCZdGf2PnzvY6b8I2DH2ccDf6idBWkp5g==","_resolved":"/private/var/folders/yf/6hj51h5963x3lsn7nj14wx0w0000gn/T/6f23421c09e3664c65fa85cf46c37e6c/ruler-factory-0.0.14.tgz","_from":"file:ruler-factory-0.0.14.tgz","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-L67dHMHs6IWqCGYamELPd7sgORyzE2Wwn4wNePo6Dv4h5qLKt94srMCZdGf2PnzvY6b8I2DH2ccDf6idBWkp5g==","shasum":"4de2ef70bb216015d57cb8a2e01a4fcf7fefc62d","tarball":"https://registry.npmjs.org/ruler-factory/-/ruler-factory-0.0.14.tgz","fileCount":8,"unpackedSize":100683,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDDlMn88eiG+rSewC7Ho5IDGqQtIzgAAkDeYSCRgVo/EAiEAxeITkVH1GP5N4E29J4PBlS10DvIMKlHiOS+5icGstao="}]},"_npmUser":{"name":"haozijunqaq","email":"haozijunqaq@163.com"},"directories":{},"maintainers":[{"name":"haozijunqaq","email":"haozijunqaq@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ruler-factory_0.0.14_1769690547724_0.8595456081657669"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-06T01:13:02.829Z","modified":"2026-01-29T12:42:28.006Z","0.0.0":"2025-09-06T01:13:03.020Z","0.0.1":"2025-09-06T04:35:13.320Z","0.0.2":"2025-09-06T05:14:23.057Z","0.0.3":"2025-09-06T05:26:01.443Z","0.0.4":"2025-09-06T08:06:35.371Z","0.0.5":"2025-09-06T08:54:51.407Z","0.0.6":"2025-09-06T09:11:24.703Z","0.0.7":"2025-09-06T09:25:46.215Z","0.0.8":"2025-09-06T09:38:52.657Z","0.0.9":"2025-09-06T09:48:37.510Z","0.0.10":"2025-09-06T09:55:34.888Z","0.0.11":"2025-09-06T10:04:26.340Z","0.0.12":"2025-09-06T11:51:27.946Z","0.0.13":"2025-09-07T12:49:37.174Z","0.0.14":"2026-01-29T12:42:27.871Z"},"bugs":{"url":"https://github.com/varletjs/ruler-factory/issues"},"author":{"name":"haoziqaq","email":"357229046@qq.com"},"license":"MIT","homepage":"https://github.com/varletjs/ruler-factory#readme","keywords":["validation","validator","rules","factory"," ","javascript","chainable","form","data"],"repository":{"type":"git","url":"git+https://github.com/varletjs/ruler-factory.git"},"description":"A flexible, chainable validation rule factory for typeScript/javaScript.","maintainers":[{"name":"haozijunqaq","email":"haozijunqaq@163.com"}],"readme":"# ruler-factory\n\nA flexible, chainable validation rule factory for TypeScript/JavaScript.\n\n## Features\n\n- Chainable API for building complex validation rules\n- Supports string, number, array, boolean, object, symbol, bigint, null, undefined\n- Customizable error messages\n- Easy to extend and integrate\n- TypeScript support\n\n## Installation\n\n```bash\npnpm add ruler-factory\n# or\nnpm install ruler-factory\n# or\nyarn add ruler-factory\n```\n\n## Integration with UI frameworks\n\n### Varlet UI\n\n```vue\n<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport { rulerFactory } from 'ruler-factory'\n\nconst ruler = rulerFactory((validator) => {\n  return (value) => {\n    const e = validator(value)\n    return e ? e.message : true\n  }\n})\n\nconst model = ref({\n  name: '',\n  email: '',\n})\n</script>\n\n<template>\n  <var-form>\n    <var-input\n      v-model=\"model.name\"\n      placeholder=\"Name\"\n      :rules=\"ruler().required('Required').min(2, 'Wrong length').done()\"\n    />\n    <var-input v-model=\"model.age\" placeholder=\"Email\" :rules=\"ruler().email('Must be email format').done()\" />\n  </var-form>\n</template>\n```\n\n### Vant\n\n```vue\n<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport { rulerFactory } from 'ruler-factory'\nimport type { FieldRule } from 'vant'\n\nconst ruler = rulerFactory<FieldRule>((validator, params) => ({\n  validator(value) {\n    const e = validator(value)\n\n    return e ? e.message : true\n  },\n  trigger: ['onChange', 'onBlur', 'onSubmit'],\n  ...params,\n}))\n\nconst model = ref({\n  name: '',\n  email: '',\n})\n</script>\n\n<template>\n  <van-form>\n    <van-cell-group inset>\n      <van-field v-model=\"model.name\" label=\"Name\" placeholder=\"Name\" :rules=\"ruler().required('Required').done()\" />\n      <van-field\n        v-model=\"model.email\"\n        label=\"Email\"\n        placeholder=\"Email\"\n        :rules=\"ruler().email('Must be email format').done()\"\n      />\n    </van-cell-group>\n  </van-form>\n</template>\n```\n\n### Naive UI\n\n```vue\n<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport type { FormItemRule } from 'naive-ui'\nimport { rulerFactory } from 'ruler-factory'\n\nconst ruler = rulerFactory<FormItemRule>((validator, params = {}) => ({\n  trigger: ['blur', 'change', 'input'],\n  validator: (_, value) => validator(value),\n  ...params,\n}))\n\nconst model = ref({\n  name: '',\n  age: 20,\n})\n</script>\n\n<template>\n  <n-form :model>\n    <n-form-item path=\"name\" label=\"Name\" :rule=\"ruler().required('Required').min(2, 'Wrong length').done()\">\n      <n-input v-model:value=\"model.name\" />\n    </n-form-item>\n    <n-form-item\n      path=\"age\"\n      label=\"Age\"\n      :rule=\"ruler().number().required('Required').negative('Must be negative').done()\"\n    >\n      <n-input-number v-model:value=\"model.age\" />\n    </n-form-item>\n  </n-form>\n</template>\n```\n\n### Element Plus\n\n```vue\n<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport type { FormItemRule } from 'element-plus'\nimport { rulerFactory } from 'ruler-factory'\n\nconst ruler = rulerFactory<FormItemRule>((validator, params) => ({\n  validator(_, value, callback) {\n    const e = validator(value)\n\n    e ? callback(e) : callback()\n  },\n  trigger: ['blur', 'change', 'input'],\n  ...params,\n}))\n\nconst model = ref({\n  name: '',\n  email: '',\n})\n</script>\n\n<template>\n  <el-form :model>\n    <el-form-item prop=\"name\" label=\"Name\" :rules=\"ruler().required('Required').done()\">\n      <el-input v-model=\"model.name\" />\n    </el-form-item>\n    <el-form-item prop=\"email\" label=\"Email\" :rules=\"ruler().email('Must be email format').done()\">\n      <el-input v-model=\"model.email\" />\n    </el-form-item>\n  </el-form>\n</template>\n```\n\n### Extend API\n\nTake `Naive UI` as an example\n\n```ts\nimport { FormItemRule } from 'naive-ui'\nimport { RulerContext, rulerFactory, RulerFactoryMessage } from 'ruler-factory'\n\ninterface RulerExtendedContext {\n  ip(message: RulerFactoryMessage, params?: FormItemRule): RulerContext<FormItemRule, FormItemRule, this>\n}\n\ncustomRuler().ip('ip format error').done()\n\nconst ruler = rulerFactory<FormItemRule, FormItemRule, RulerExtendedContext>(\n  (validator, params = {}) => ({\n    trigger: ['blur', 'change', 'input'],\n    validator: (_, value) => validator(value),\n    ...params,\n  }),\n  (ctx) => {\n    function ip(message: RulerFactoryMessage, params?: FormItemRule) {\n      ctx.addRule((value) => {\n        // Implement isString and isIP by yourself\n        if (!isString(value) || !isIP(value)) {\n          return new Error(ctx.getMessage(message))\n        }\n      }, params)\n\n      return ctx\n    }\n\n    return { ip }\n  },\n)\n```\n\n## API\n\n### Types Validation\n\n- `.string(message?, params?)`\n- `.number(message?, params?)`\n- `.array(message?, params?)`\n- `.boolean(message?, params?)`\n- `.object(message?, params?)`\n- `.symbol(message?, params?)`\n- `.bigint(message?, params?)`\n- `.null(message?, params?)`\n- `.undefined(message?, params?)`\n- `.true(message?, params?)`\n- `.false(message?, params?)`\n\n### Non Empty Validation\n\n- `.required(message)`\n\n### String Validation\n\n- `.min(value, message, params?)`\n- `.max(value, message, params?)`\n- `.length(value, message, params?)`\n- `.regex(regexp, message, params?)`\n- `.startsWith(value, message, params?)`\n- `.endsWith(value, message, params?)`\n- `.includes(value, message, params?)`\n- `.uppercase(message, params?)`\n- `.lowercase(message, params?)`\n- `.email(message, params?)`\n\n### Number Validation\n\n- `.number().min(value, message, params?)`\n- `.number().max(value, message, params?)`\n- `.number().gt(value, message, params?)`\n- `.number().gte(value, message, params?)` alias .min\n- `.number().lt(value, message, params?)`\n- `.number().lte(value, message, params?)` alias .max\n- `.number().positive(value, message, params?)`\n- `.number().negative(value, message, params?)`\n\n### Bigint Validation\n\n- `.bigint().min(value, message, params?)`\n- `.bigint().max(value, message, params?)`\n- `.bigint().gt(value, message, params?)`\n- `.bigint().gte(value, message, params?)` alias .min\n- `.bigint().lt(value, message, params?)`\n- `.bigint().lte(value, message, params?)` alias .max\n- `.bigint().positive(value, message, params?)`\n- `.bigint().negative(value, message, params?)`\n\n### Array Validation\n\n- `.array().min(value, message, params?)`\n- `.array().max(value, message, params?)`\n- `.array().length(value, message, params?)`\n- `.array().includes(value, message, params?)`\n\n### Predicate Validation\n\n- `.is(fn, message, params?)`\n- `.not(fn, message, params?)`\n\n### Complete rule building\n\n- `.done()`\n\n### Custom Rule\n\n- `.addRule(validator)`\n\n### Value Transformer\n\n- `.trim()`\n- `.toLowerCase()`\n- `.toUpperCase()`\n- `.transform(fn)`\n\n## License\n\nMIT\n\n## Links\n\n- [GitHub Repository](https://github.com/varletjs/ruler-factory)\n- [Issues](https://github.com/varletjs/ruler-factory/issues)\n\n## Inspired By\n\n[`zod`](https://zod.dev/)\n[`yup`](https://github.com/jquense/yup)\n","readmeFilename":"README.md"}