{"_id":"@bizjs/nestkit","_rev":"15-5ebe57e065440e89b8b02aa388a90d2f","name":"@bizjs/nestkit","dist-tags":{"latest":"1.1.0"},"versions":{"0.0.1":{"name":"@bizjs/nestkit","version":"0.0.1","keywords":["nestjs","nest","toolkit"],"author":{"name":"hstarorg","email":"hm910705@163.com"},"license":"ISC","_id":"@bizjs/nestkit@0.0.1","maintainers":[{"name":"hm910705","email":"hm910705@163.com"}],"homepage":"https://github.com/bizjs/nestkit#readme","bugs":{"url":"https://github.com/bizjs/nestkit/issues"},"dist":{"shasum":"6fa9753153b17484d1f57882a2770a444c46ab9b","tarball":"https://registry.npmjs.org/@bizjs/nestkit/-/nestkit-0.0.1.tgz","fileCount":3,"integrity":"sha512-IoCdclCsq+Tt0T0OQ+youuFIOGAwctsl6gY1lQJk45QNdZnnKa6/fQHRdwuRSsq6Hjv4A+J7lc2ltQKtsO6kMA==","signatures":[{"sig":"MEUCIQDRRVx7LbdxCAPgrX+EHJiRI/nwLf/4BFVjtx0gVFRwPwIgJZKonRkq0i0aUK4/sow9pEP9lnB9oFeLkm2Jul6A1bc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2362},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"927842b9c130f9ef9a5c5b164ab6c7d56267c695","scripts":{"pub":"npm run build && npm publish","build":"rimraf ./dist && tsc"},"_npmUser":{"name":"hm910705","email":"hm910705@163.com"},"repository":{"url":"git+https://github.com/bizjs/nestkit.git","type":"git"},"_npmVersion":"10.2.3","description":"A toolkit package for nest.js","directories":{},"sideEffects":false,"_nodeVersion":"20.10.0","dependencies":{"ioredis":"^5.3.2","connect-redis":"^7.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.1","rimraf":"^5.0.5","typescript":"^5.3.3","@nestjs/core":"^10.2.10","@nestjs/common":"^10.2.10","class-validator":"^0.14.0","class-transformer":"^0.5.1"},"peerDependencies":{"rxjs":"^7.8.1","@nestjs/core":"^10.2.10","@nestjs/common":"^10.2.10","class-validator":"^0.14.0","class-transformer":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/nestkit_0.0.1_1702736041340_0.2757685765073845","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@bizjs/nestkit","version":"0.0.2","keywords":["nestjs","nest","toolkit"],"author":{"name":"hstarorg","email":"hm910705@163.com"},"license":"ISC","_id":"@bizjs/nestkit@0.0.2","maintainers":[{"name":"hm910705","email":"hm910705@163.com"}],"homepage":"https://github.com/bizjs/nestkit#readme","bugs":{"url":"https://github.com/bizjs/nestkit/issues"},"dist":{"shasum":"b182a6ccb17e6f2acbd76bf980b8fa43e76a8010","tarball":"https://registry.npmjs.org/@bizjs/nestkit/-/nestkit-0.0.2.tgz","fileCount":31,"integrity":"sha512-D9vHWfafao2uVCvqb0RCl82o+tFXsgrYxe4IAYyWcxX3+1/2s5x8qUPFGW5vhnDKPYTnbu3wqnMHAIihcK/ivg==","signatures":[{"sig":"MEYCIQDuQyDn9Yb5DffXtT5EeXC+lKNQsajRY0jK3s/b7cSpowIhAI0z4xI9rL8g+PqKMyZlgvh+kjBCfHH34NBwn3ttAbKx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":177946},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"ea94094bc9c9f43cb8bc68c7fd6b496307ea6870","scripts":{"pub":"npm run build && npm publish","build":"rimraf ./dist && tsc"},"_npmUser":{"name":"hm910705","email":"hm910705@163.com"},"repository":{"url":"git+https://github.com/bizjs/nestkit.git","type":"git"},"_npmVersion":"10.2.3","description":"A toolkit package for nest.js","directories":{},"sideEffects":false,"_nodeVersion":"20.10.0","dependencies":{"ioredis":"^5.3.2","connect-redis":"^7.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.1","rimraf":"^5.0.5","typescript":"^5.3.3","@nestjs/core":"^10.2.10","@nestjs/common":"^10.2.10","class-validator":"^0.14.0","class-transformer":"^0.5.1"},"peerDependencies":{"rxjs":"^7.8.1","@nestjs/core":"^10.2.10","@nestjs/common":"^10.2.10","class-validator":"^0.14.0","class-transformer":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/nestkit_0.0.2_1702736612622_0.502448932205884","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"@bizjs/nestkit","version":"0.1.0","keywords":["nestjs","nest","toolkit"],"author":{"name":"hstarorg","email":"hm910705@163.com"},"license":"ISC","_id":"@bizjs/nestkit@0.1.0","maintainers":[{"name":"hm910705","email":"hm910705@163.com"}],"homepage":"https://github.com/bizjs/nestkit#readme","bugs":{"url":"https://github.com/bizjs/nestkit/issues"},"dist":{"shasum":"9e71322aa0677598317fdd2a663555f73f75750c","tarball":"https://registry.npmjs.org/@bizjs/nestkit/-/nestkit-0.1.0.tgz","fileCount":31,"integrity":"sha512-Wl5W/rcZnNQz3d54ow1uFz0k5v+LBGMnGnh97eyYhHsRpsQJnRLjV8RBc46D6k+jSdKRsWYeud9CoZckldF8wA==","signatures":[{"sig":"MEUCIQC0Y9CygFzPS48RPfNBukrxnNCeSps7Qq2WnyECF1Yf5AIgPVSHPKmO3lurJtV1RvkLEeKA/U26Y1OysrN3a7lU8nw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":178250},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"ebac5c83b1a87bf2a0a85d0f0cdf67d3fed4b469","scripts":{"pub":"npm run build && npm publish","build":"rimraf ./dist && tsc"},"_npmUser":{"name":"hm910705","email":"hm910705@163.com"},"repository":{"url":"git+https://github.com/bizjs/nestkit.git","type":"git"},"_npmVersion":"10.2.3","description":"A toolkit package for nest.js","directories":{},"sideEffects":false,"_nodeVersion":"20.10.0","dependencies":{"ioredis":"^5.3.2","connect-redis":"^7.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.1","rimraf":"^5.0.5","typescript":"^5.3.3","@nestjs/core":"^10.2.10","@nestjs/common":"^10.2.10","class-validator":"^0.14.0","class-transformer":"^0.5.1"},"peerDependencies":{"rxjs":"^7.8.1","@nestjs/core":"^10.2.10","@nestjs/common":"^10.2.10","class-validator":"^0.14.0","class-transformer":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/nestkit_0.1.0_1702738068796_0.9598350727541332","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"@bizjs/nestkit","version":"0.1.1","keywords":["nestjs","nest","toolkit"],"author":{"name":"hstarorg","email":"hm910705@163.com"},"license":"ISC","_id":"@bizjs/nestkit@0.1.1","maintainers":[{"name":"hm910705","email":"hm910705@163.com"}],"homepage":"https://github.com/bizjs/nestkit#readme","bugs":{"url":"https://github.com/bizjs/nestkit/issues"},"dist":{"shasum":"7bf1d3ac5c71b299607139bf86cf99a79360cc43","tarball":"https://registry.npmjs.org/@bizjs/nestkit/-/nestkit-0.1.1.tgz","fileCount":31,"integrity":"sha512-Exh0Elt24CLAM3GZcWcDSdy5XXkhIKhYt4ITKUjdLCXvxefIsB4q5Y1JuHiNtmtKdED2XFk9i5sN5B1RVKhikw==","signatures":[{"sig":"MEUCICwKbQ3mrUZm4L/EOxNu/9cd1kOh2wZyO5J7FtZ64LaoAiEAtxZp03lSfAyCMYrqcIA48BFrMIooxx1Xc8KDlIFpEHU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":178253},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"d68ea63e1aea1fc6cc3a8c38499ed8315409ef9d","scripts":{"pub":"npm run build && npm publish","build":"rimraf ./dist && tsc"},"_npmUser":{"name":"hm910705","email":"hm910705@163.com"},"repository":{"url":"git+https://github.com/bizjs/nestkit.git","type":"git"},"_npmVersion":"10.2.3","description":"A toolkit package for nest.js","directories":{},"sideEffects":false,"_nodeVersion":"20.10.0","dependencies":{"ioredis":"^5.3.2","connect-redis":"^7.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.1","rimraf":"^5.0.5","typescript":"^5.3.3","@nestjs/core":"^10.2.10","@nestjs/common":"^10.2.10","class-validator":"^0.14.0","class-transformer":"^0.5.1"},"peerDependencies":{"rxjs":"^7.8.1","@nestjs/core":"^10.2.10","@nestjs/common":"^10.2.10","class-validator":"^0.14.0","class-transformer":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/nestkit_0.1.1_1702739195980_0.3661586992868249","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"@bizjs/nestkit","version":"0.2.0","keywords":["nestjs","nest","toolkit"],"author":{"name":"hstarorg","email":"hm910705@163.com"},"license":"ISC","_id":"@bizjs/nestkit@0.2.0","maintainers":[{"name":"hm910705","email":"hm910705@163.com"}],"homepage":"https://github.com/bizjs/nestkit#readme","bugs":{"url":"https://github.com/bizjs/nestkit/issues"},"dist":{"shasum":"d1e395e8e928331f8050ec104ec7f7eba7848570","tarball":"https://registry.npmjs.org/@bizjs/nestkit/-/nestkit-0.2.0.tgz","fileCount":31,"integrity":"sha512-nes+0gBkwu0xG5AklvLtt/kw8jZmITsAFhHx6RSgVrRsGNd50lSHhQKR3FfXnb+XMxC05GcNMNrYsaj7ynyXGA==","signatures":[{"sig":"MEUCIQDf5qMhxu0Jqi/D55m/DDMfFdCPEfRFC3AdH9ib5YmpkwIgfG82HLrQ+MdJvZuADp429RZN/CicPt5EVqNoln+k9eY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":178502},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"6fc9aac4e6d2abbebb8c85178a7371d7beb7633b","scripts":{"pub":"npm run build && npm publish","build":"rimraf ./dist && tsc"},"_npmUser":{"name":"hm910705","email":"hm910705@163.com"},"repository":{"url":"git+https://github.com/bizjs/nestkit.git","type":"git"},"_npmVersion":"10.2.3","description":"A toolkit package for nest.js","directories":{},"sideEffects":false,"_nodeVersion":"20.10.0","dependencies":{"ioredis":"^5.3.2","connect-redis":"^7.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.1","rimraf":"^5.0.5","typescript":"^5.3.3","@nestjs/core":"^10.2.10","@nestjs/common":"^10.2.10","class-validator":"^0.14.0","class-transformer":"^0.5.1"},"peerDependencies":{"rxjs":"^7.8.1","@nestjs/core":"^10.2.10","@nestjs/common":"^10.2.10","class-validator":"^0.14.0","class-transformer":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/nestkit_0.2.0_1705389131109_0.11664489724333515","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"@bizjs/nestkit","version":"0.2.1","keywords":["nestjs","nest","toolkit"],"author":{"name":"hstarorg","email":"hm910705@163.com"},"license":"ISC","_id":"@bizjs/nestkit@0.2.1","maintainers":[{"name":"hm910705","email":"hm910705@163.com"}],"homepage":"https://github.com/bizjs/nestkit#readme","bugs":{"url":"https://github.com/bizjs/nestkit/issues"},"dist":{"shasum":"1ee54e81b39aa5aa1fcdcebe4fd11c9641a21bee","tarball":"https://registry.npmjs.org/@bizjs/nestkit/-/nestkit-0.2.1.tgz","fileCount":31,"integrity":"sha512-ZktK0hiPChewxFkhWz2VGR0SEHGNDucQt1fQs21HyFomMZzrg9axFkAZhXno7lnl/EruoHoXtHzOj+T5GGYflw==","signatures":[{"sig":"MEUCICyZCibE/q4RsI40LmW8Z3tNYBjbS9v4ukFcWCEp7NmbAiEAvRUGVZ5QwS1Xkxp4ZE1my9i2aFcL8HK5OwXp0FOdtUA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":178502},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"75c25c05df5a0a003991a14df34fb0f7390a29e0","scripts":{"pub":"npm run build && npm publish","build":"rimraf ./dist && tsc"},"_npmUser":{"name":"hm910705","email":"hm910705@163.com"},"repository":{"url":"git+https://github.com/bizjs/nestkit.git","type":"git"},"_npmVersion":"10.2.4","description":"A toolkit package for nest.js","directories":{},"sideEffects":false,"_nodeVersion":"20.11.1","dependencies":{"ioredis":"^5.3.2","connect-redis":"^7.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.1","rimraf":"^5.0.5","typescript":"^5.3.3","@nestjs/core":"^10.2.10","@nestjs/common":"^10.2.10","class-validator":"^0.14.0","class-transformer":"^0.5.1"},"peerDependencies":{"rxjs":"^7.8.1","@nestjs/core":"^10.2.10","@nestjs/common":"^10.2.10","class-validator":"^0.14.0","class-transformer":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/nestkit_0.2.1_1708612986423_0.7856707642145804","host":"s3://npm-registry-packages"}},"0.2.2":{"name":"@bizjs/nestkit","version":"0.2.2","keywords":["nestjs","nest","toolkit"],"author":{"name":"hstarorg","email":"hm910705@163.com"},"license":"ISC","_id":"@bizjs/nestkit@0.2.2","maintainers":[{"name":"hm910705","email":"hm910705@163.com"}],"homepage":"https://github.com/bizjs/nestkit#readme","bugs":{"url":"https://github.com/bizjs/nestkit/issues"},"dist":{"shasum":"9c2211c1e424fcedf6bdaecb67544adc7a65aa9b","tarball":"https://registry.npmjs.org/@bizjs/nestkit/-/nestkit-0.2.2.tgz","fileCount":31,"integrity":"sha512-Dzg/z1sSk28H94j7+DNqJjbEaw1jalJ/nOsh/KDtgAmUtlunsalYYpgKzOEEYAhuCe8lFuhawSh5j1wvA8FA8A==","signatures":[{"sig":"MEUCIHp6HIHs6Z5cl/rS3chiDecsqi2RPbA5AyIOlmbdvnfTAiEAgiwSUnyDyk0kBOxEZ+JFdI46q3EvTBZZrM+h+M+p1qM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":178582},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"31d371d1cf235d44bd5084e1b1d236cfc9e58fd0","scripts":{"pub":"npm run build && npm publish","build":"rimraf ./dist && tsc"},"_npmUser":{"name":"hm910705","email":"hm910705@163.com"},"repository":{"url":"git+https://github.com/bizjs/nestkit.git","type":"git"},"_npmVersion":"10.2.4","description":"A toolkit package for nest.js","directories":{},"sideEffects":false,"_nodeVersion":"20.11.1","dependencies":{"ioredis":"^5.3.2","connect-redis":"^7.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.1","rimraf":"^5.0.5","typescript":"^5.3.3","@nestjs/core":"^10.2.10","@nestjs/common":"^10.2.10","class-validator":"^0.14.0","class-transformer":"^0.5.1"},"peerDependencies":{"rxjs":"^7.8.1","@nestjs/core":"^10.2.10","@nestjs/common":"^10.2.10","class-validator":"^0.14.0","class-transformer":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/nestkit_0.2.2_1709278766227_0.7350588722435347","host":"s3://npm-registry-packages"}},"0.2.3":{"name":"@bizjs/nestkit","version":"0.2.3","keywords":["nestjs","nest","toolkit"],"author":{"name":"hstarorg","email":"hm910705@163.com"},"license":"ISC","_id":"@bizjs/nestkit@0.2.3","maintainers":[{"name":"hm910705","email":"hm910705@163.com"}],"homepage":"https://github.com/bizjs/nestkit#readme","bugs":{"url":"https://github.com/bizjs/nestkit/issues"},"dist":{"shasum":"6541056c13b1b29eb39d9705d17f83b159e6a463","tarball":"https://registry.npmjs.org/@bizjs/nestkit/-/nestkit-0.2.3.tgz","fileCount":31,"integrity":"sha512-yz16jlteMkeSUgvnwcAu3sRjUPANjz/N0Ei9UbP0hGHwFKqPVYwNpTnVRwbKS/GIhnSPoKFH8UpwIB7OyUQcfA==","signatures":[{"sig":"MEYCIQCbXbgpNlC7fjkQPQKZHf8wPqiQyeXD/hsGZZh0puLydwIhAPkj5vbgEqrVQTllfXSeSmFUMywfl21VbLwBkFx1JaAN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":178607},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"a56e86809c4ec38f4926a08abbfc91d19444ca62","scripts":{"pub":"npm run build && npm publish","build":"rimraf ./dist && tsc"},"_npmUser":{"name":"hm910705","email":"hm910705@163.com"},"repository":{"url":"git+https://github.com/bizjs/nestkit.git","type":"git"},"_npmVersion":"10.2.4","description":"A toolkit package for nest.js","directories":{},"sideEffects":false,"_nodeVersion":"20.11.1","dependencies":{"ioredis":"^5.3.2","connect-redis":"^7.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.1","rimraf":"^5.0.5","typescript":"^5.3.3","@nestjs/core":"^10.2.10","@nestjs/common":"^10.2.10","class-validator":"^0.14.0","class-transformer":"^0.5.1"},"peerDependencies":{"rxjs":"^7.8.1","@nestjs/core":"^10.2.10","@nestjs/common":"^10.2.10","class-validator":"^0.14.0","class-transformer":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/nestkit_0.2.3_1709280033742_0.5309288275026489","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"@bizjs/nestkit","version":"0.3.0","keywords":["nestjs","nest","toolkit"],"author":{"name":"hstarorg","email":"hm910705@163.com"},"license":"ISC","_id":"@bizjs/nestkit@0.3.0","maintainers":[{"name":"hm910705","email":"hm910705@163.com"}],"homepage":"https://github.com/bizjs/nestkit#readme","bugs":{"url":"https://github.com/bizjs/nestkit/issues"},"dist":{"shasum":"03a8121de6e6f730debde547557ea8035d7bf978","tarball":"https://registry.npmjs.org/@bizjs/nestkit/-/nestkit-0.3.0.tgz","fileCount":34,"integrity":"sha512-Vrx4osfz9vbJLf7TCsuMGF5tVkF5WPgaFD0jQqmaR6SaNYuE5+h9xmiXWfiUtF8gS6af/NNhqhrziW4ZA7QILg==","signatures":[{"sig":"MEUCIA7gVKT1bSm7eNnhty/XN4wcsJKs63DAvZQZ9B6Ixt13AiEAqOcpAzapQ3wvEE/+1wqzUE3GM+00iTZIv7LSGjzp1iQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":214035},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"39b4367d347ab5689c32bccd457b39315dc467ad","scripts":{"pub":"npm run build && npm publish","build":"rimraf ./dist && tsc"},"_npmUser":{"name":"hm910705","email":"hm910705@163.com"},"repository":{"url":"git+https://github.com/bizjs/nestkit.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit package for nest.js","directories":{},"sideEffects":false,"_nodeVersion":"20.18.0","dependencies":{"ioredis":"^5.3.2","connect-redis":"^7.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.1","dotenv":"^16.4.5","rimraf":"^5.0.5","typescript":"^5.3.3","@types/node":"^22.9.0","@nestjs/core":"^10.2.10","@nestjs/common":"^10.2.10","class-validator":"^0.14.0","class-transformer":"^0.5.1"},"peerDependencies":{"rxjs":"^7.8.1","@nestjs/core":"^10.2.10","@nestjs/common":"^10.2.10","class-validator":"^0.14.0","class-transformer":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/nestkit_0.3.0_1731330866706_0.03471043912543026","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"@bizjs/nestkit","version":"0.4.0","keywords":["nestjs","nest","toolkit"],"author":{"name":"hstarorg","email":"hm910705@163.com"},"license":"ISC","_id":"@bizjs/nestkit@0.4.0","maintainers":[{"name":"hm910705","email":"hm910705@163.com"}],"homepage":"https://github.com/bizjs/nestkit#readme","bugs":{"url":"https://github.com/bizjs/nestkit/issues"},"dist":{"shasum":"727794820a0deb53215d679b6d60736111ef65db","tarball":"https://registry.npmjs.org/@bizjs/nestkit/-/nestkit-0.4.0.tgz","fileCount":43,"integrity":"sha512-cwNwbx4dg1ULLjIw5u4gqr3w5NjCCIAe+I4jS219jZo+6zdU1rp8JKwo8rg6aUX8JAAGYFDEubdFLVk3nDRMuw==","signatures":[{"sig":"MEYCIQD3xWCtVz3FH9+zi6UvEUonWoyJlqq47J/oJQ8RnxMQrgIhAIWhwM3Vhclo+TWdVsXm3jSMraw3Z/NI4hYubv1b4v6q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":242465},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"ad0605c1bba22d294aa392a584b4e24acbd20846","scripts":{"pub":"npm run build && npm publish","test":"jest","build":"rimraf ./dist && tsc","test:cov":"jest --coverage"},"_npmUser":{"name":"hm910705","email":"hm910705@163.com"},"repository":{"url":"git+https://github.com/bizjs/nestkit.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit package for nest.js","directories":{},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ioredis":"^5.4.1","cache-manager":"^6.3.1","connect-redis":"^7.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","rxjs":"^7.8.1","dotenv":"^16.4.7","rimraf":"^5.0.10","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@nestjs/core":"^10.4.15","@nestjs/common":"^10.4.15","class-validator":"^0.14.1","class-transformer":"^0.5.1"},"peerDependencies":{"rxjs":"^7.8.1","@nestjs/core":"^10","@nestjs/common":"^10","class-validator":"^0.14.0","class-transformer":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/nestkit_0.4.0_1734593708387_0.45292615029275174","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@bizjs/nestkit","version":"0.4.1","keywords":["nestjs","nest","toolkit"],"author":{"name":"hstarorg","email":"hm910705@163.com"},"license":"ISC","_id":"@bizjs/nestkit@0.4.1","maintainers":[{"name":"hm910705","email":"hm910705@163.com"}],"homepage":"https://github.com/bizjs/nestkit#readme","bugs":{"url":"https://github.com/bizjs/nestkit/issues"},"dist":{"shasum":"3b2e46a2358648e802bc99112634753e90bfa181","tarball":"https://registry.npmjs.org/@bizjs/nestkit/-/nestkit-0.4.1.tgz","fileCount":37,"integrity":"sha512-exvzjU98KOKF6p5hILOIWxIN4hQsALyFgpuaFd5urt0VNTgECiCYgolD0lM0LLks7Y/gWslhWFe9ihP7541PKg==","signatures":[{"sig":"MEYCIQDWKsnC0W1vXoaiFnxdvIrGdeI4xzWRbbc3DVqWV/X7YQIhAPGgsaVdexwsZcXm1KMZyV5D324sOAonv57kuDrkJzjR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":232137},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"0131d1a0f8c82a42cf890e8611c107d3a923172b","scripts":{"pub":"npm run build && npm publish","test":"jest","build":"rimraf ./dist && tsc","test:cov":"jest --coverage"},"_npmUser":{"name":"hm910705","email":"hm910705@163.com"},"repository":{"url":"git+https://github.com/bizjs/nestkit.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit package for nest.js","directories":{},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ioredis":"^5.4.1","cache-manager":"^6.3.1","connect-redis":"^7.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","rxjs":"^7.8.1","dotenv":"^16.4.7","rimraf":"^5.0.10","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@nestjs/core":"^10.4.15","@nestjs/common":"^10.4.15","class-validator":"^0.14.1","class-transformer":"^0.5.1"},"peerDependencies":{"rxjs":"^7.8.1","@nestjs/core":"^10","@nestjs/common":"^10","class-validator":"^0.14.0","class-transformer":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/nestkit_0.4.1_1734599633879_0.4006552844290243","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@bizjs/nestkit","version":"0.5.0","keywords":["nestjs","nest","toolkit"],"author":{"name":"hstarorg","email":"hm910705@163.com"},"license":"ISC","_id":"@bizjs/nestkit@0.5.0","maintainers":[{"name":"hm910705","email":"hm910705@163.com"}],"homepage":"https://github.com/bizjs/nestkit#readme","bugs":{"url":"https://github.com/bizjs/nestkit/issues"},"dist":{"shasum":"18c3a99da510fd1efa66e88dd853cdd83fd75fce","tarball":"https://registry.npmjs.org/@bizjs/nestkit/-/nestkit-0.5.0.tgz","fileCount":40,"integrity":"sha512-ab365+fZlOb1hlVPLdByHZ1JlzrCRA27ruB0xJjXovbVd4KHY2ozMvVccPtZlXTj0aG2g/5pSrZn+3i5GEZRUg==","signatures":[{"sig":"MEUCIQDHIDidS4qXZojSUIVaO/XZ07ardI1cbWX3ipqIqSQXMAIgU6uQOs/iGESkFKbz1oKNeycEazKKcGzFtIqWw9vA6jw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236611},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"393718bee1a411da66f2c39d20373aa0c507a770","scripts":{"pub":"npm run build && npm publish","test":"jest","build":"rimraf ./dist && tsc","test:cov":"jest --coverage"},"_npmUser":{"name":"hm910705","email":"hm910705@163.com"},"repository":{"url":"git+https://github.com/bizjs/nestkit.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit package for nest.js","directories":{},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"cookie":"^1.0.2","ioredis":"^5.4.1","cache-manager":"^6.3.1","connect-redis":"^8.0.2","cookie-signature":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","rxjs":"^7.8.1","dotenv":"^16.4.7","rimraf":"^6.0.1","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@nestjs/core":">=10","@nestjs/common":">=10","class-validator":"^0.14.1","class-transformer":"^0.5.1","@types/cookie-signature":"^1.1.2"},"peerDependencies":{"rxjs":"^7.8.1","@nestjs/core":">=10","@nestjs/common":">=10","class-validator":"^0.14.0","class-transformer":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/nestkit_0.5.0_1743170293145_0.2317471235032582","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@bizjs/nestkit","version":"0.6.0","keywords":["nestjs","nest","toolkit"],"author":{"name":"hstarorg","email":"hm910705@163.com"},"license":"ISC","_id":"@bizjs/nestkit@0.6.0","maintainers":[{"name":"hm910705","email":"hm910705@163.com"}],"homepage":"https://github.com/bizjs/nestkit#readme","bugs":{"url":"https://github.com/bizjs/nestkit/issues"},"dist":{"shasum":"f0f7fe661c82485668894e8616d090ffb5bdf6b6","tarball":"https://registry.npmjs.org/@bizjs/nestkit/-/nestkit-0.6.0.tgz","fileCount":40,"integrity":"sha512-ClzHJ5h70w9RQfwTEGEaAD9xW5SI2nZTLqdCc+N8/eAlsPMLrg5yLQExSjYFNbQDg53oGvgyJ8C1WvknTTfQZA==","signatures":[{"sig":"MEUCIF54F6fTcbniW17Fdu2jedj7StMKNPJyNYQQSmOP3RJVAiEAg5WVJlTo/6A3O9toQXBbsMpoidh7H6tKZS+o+AMq3RI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236877},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"c003f74ae584b5a5133f3a10a66181be7283f653","scripts":{"pub":"npm run build && npm publish","test":"jest","build":"rimraf ./dist && tsc","test:cov":"jest --coverage"},"_npmUser":{"name":"hm910705","actor":{"name":"hm910705","type":"user","email":"hm910705@163.com"},"email":"hm910705@163.com"},"repository":{"url":"git+https://github.com/bizjs/nestkit.git","type":"git"},"_npmVersion":"10.8.2","description":"A toolkit package for nest.js","directories":{},"sideEffects":false,"_nodeVersion":"20.19.2","dependencies":{"cookie":"^1.0.2","ioredis":"^5.4.1","cache-manager":"^6.3.1","connect-redis":"^8.0.2","cookie-signature":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","rxjs":"^7.8.1","dotenv":"^16.4.7","rimraf":"^6.0.1","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@nestjs/core":">=10","@nestjs/common":">=10","class-validator":"^0.14.1","class-transformer":"^0.5.1","@types/cookie-signature":"^1.1.2"},"peerDependencies":{"rxjs":"^7.8.1","@nestjs/core":">=10","@nestjs/common":">=10","class-validator":"^0.14.0","class-transformer":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/nestkit_0.6.0_1751446566279_0.4090205199584016","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@bizjs/nestkit","version":"1.0.0","keywords":["nestjs","nest","toolkit"],"author":{"name":"hstarorg","email":"hm910705@163.com"},"license":"MIT","_id":"@bizjs/nestkit@1.0.0","maintainers":[{"name":"hm910705","email":"hm910705@163.com"}],"homepage":"https://github.com/bizjs/nestkit#readme","bugs":{"url":"https://github.com/bizjs/nestkit/issues"},"dist":{"shasum":"2812dab587a52b84773e9b39dadbdcfbf20ad848","tarball":"https://registry.npmjs.org/@bizjs/nestkit/-/nestkit-1.0.0.tgz","fileCount":37,"integrity":"sha512-fH3cEDkXaowc88yREImsCmpQ3t+HJq2kL9v86uOfanRt5VqLOFRj/XjcjU7FjQtd06i2yisIOFFKReaH4O9Iqg==","signatures":[{"sig":"MEYCIQD6/h5Sizp2W74sww+ZszusAWS+AQ2pqZAUbDjy/6+34AIhAMbEfgeWZfWFe5YZ0IdsoGvel+5q56/GlW0ZjGwmFE1+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIH3y/YlTLaIN5RGCYrp/+Kum9LG6aLWPGM5HM09GfFLaAiEA09S38OQbaqtZeN+NV/G0Xx1kek9T1pdhvuhfnfiJhy4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bizjs%2fnestkit@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":55229},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"633f557dc0216b0fe98170a9505c97516d21f7b9","scripts":{"pub":"npm run build && npm publish","test":"jest","build":"rimraf ./dist && tsc","test:cov":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:752d84e8-7ed4-4502-be2a-dca978372d2f"}},"repository":{"url":"git+https://github.com/bizjs/nestkit.git","type":"git"},"_npmVersion":"11.19.0","description":"A toolkit package for nest.js","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"redis":"^5.12.1","cookie":"^1.0.2","cache-manager":"^6.3.1","connect-redis":"^9.0.0","cookie-signature":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.19.0","devDependencies":{"jest":"^29.7.0","rxjs":"^7.8.1","dotenv":"^16.4.7","rimraf":"^6.0.1","ts-jest":"^29.2.5","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@nestjs/core":">=10","@nestjs/common":">=10","class-validator":"^0.14.1","class-transformer":"^0.5.1","@types/cookie-signature":"^1.1.2"},"peerDependencies":{"rxjs":"^7.8.1","@nestjs/core":">=10","@nestjs/common":">=10","class-validator":"^0.14.0","class-transformer":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/nestkit_1.0.0_1789088502472_0.5552939154345895","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"_id":"@bizjs/nestkit@1.1.0","bugs":{"url":"https://github.com/bizjs/nestkit/issues"},"dist":{"shasum":"f71dbf56301d5b666f4d7a94bb4f874fb3e5f960","tarball":"https://registry.npmjs.org/@bizjs/nestkit/-/nestkit-1.1.0.tgz","fileCount":94,"integrity":"sha512-yK0ug0jW3VhJLyf75o5P5xlNLjhiEqsgqGy5Hwzf378CgVOyBP0yGmvyai/YkWPulbPddRN3Hqls3vHONIlHrg==","signatures":[{"sig":"MEQCIDEHaHHoygLXkD5q5ActmXb14bdP40k/Pe8fIY8B9SJFAiB1hXPdGqS3bO9dCXxjQ75xKOZ1sfVmsB2xQ+3vbp3CZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDi7W5yjRkIP8rj4Bm/6GyRig6ktRTZc6VIstADxmPXGAIgOnFK5MiMXhdWo34WLmK/qMml0miwPGq7KF5qYZzgHeE="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bizjs%2fnestkit@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":221150},"main":"dist/index.js","name":"@bizjs/nestkit","types":"dist/index.d.ts","author":{"name":"hstarorg","email":"hm910705@163.com"},"module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./*":{"types":"./dist/*.d.ts","import":"./dist/*.mjs","require":"./dist/*.js"},"./dist/*":"./dist/*","./package.json":"./package.json","./express-session":{"types":"./dist/express-session/index.d.ts","import":"./dist/express-session/index.mjs","require":"./dist/express-session/index.js"}},"gitHead":"9fb084b26ce184548c0a3944b877d8e1446f582e","license":"MIT","scripts":{"pub":"npm run build && npm publish","test":"vitest run","build":"vite build","test:cov":"vitest run --coverage","test:watch":"vitest"},"version":"1.1.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:752d84e8-7ed4-4502-be2a-dca978372d2f"}},"homepage":"https://github.com/bizjs/nestkit#readme","keywords":["nestjs","nest","toolkit"],"repository":{"url":"git+https://github.com/bizjs/nestkit.git","type":"git"},"_npmVersion":"11.19.0","description":"A toolkit package for nest.js","directories":{},"maintainers":[{"name":"hm910705","email":"hm910705@163.com"}],"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"redis":"^5.12.1","cookie":"^1.1.1","on-headers":"~1.1.0","cache-manager":"^6.4.3","connect-redis":"^9.0.0","cookie-signature":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.19.0","devDependencies":{"rxjs":"^7.8.2","vite":"^8.3.0","dotenv":"^17.4.2","vitest":"^5.0.0","express":"^5.2.1","supertest":"6.3.4","typescript":"^5.9.3","@types/node":"^22.20.2","@nestjs/core":"^12.0.2","cookie-parser":"1.4.6","@nestjs/common":"^12.0.2","@types/express":"^5.0.6","class-validator":"^0.15.1","vite-plugin-dts":"^5.1.0","@types/supertest":"^7.2.1","@types/on-headers":"^1.0.4","class-transformer":"^0.5.1","@vitest/coverage-v8":"^5.0.0","@types/cookie-parser":"1.4.10","@types/cookie-signature":"^1.1.2"},"peerDependencies":{"rxjs":"^7.8.1","@nestjs/core":">=10","@nestjs/common":">=10","class-validator":">=0.14.0","class-transformer":">=0.5.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nestkit_1.1.0_1789489139176_0.5143896403132833"}}},"time":{"created":"2023-12-16T14:14:01.224Z","modified":"2026-09-15T16:18:59.664Z","0.0.1":"2023-12-16T14:14:01.541Z","0.0.2":"2023-12-16T14:23:33.460Z","0.1.0":"2023-12-16T14:47:48.968Z","0.1.1":"2023-12-16T15:06:36.314Z","0.2.0":"2024-01-16T07:12:11.387Z","0.2.1":"2024-02-22T14:43:06.691Z","0.2.2":"2024-03-01T07:39:26.371Z","0.2.3":"2024-03-01T08:00:33.898Z","0.3.0":"2024-11-11T13:14:27.065Z","0.4.0":"2024-12-19T07:35:08.589Z","0.4.1":"2024-12-19T09:13:54.094Z","0.5.0":"2025-03-28T13:58:13.312Z","0.6.0":"2025-07-02T08:56:06.460Z","1.0.0":"2026-09-11T01:01:42.580Z","1.1.0":"2026-09-15T16:18:59.314Z"},"bugs":{"url":"https://github.com/bizjs/nestkit/issues"},"author":{"name":"hstarorg","email":"hm910705@163.com"},"license":"MIT","homepage":"https://github.com/bizjs/nestkit#readme","keywords":["nestjs","nest","toolkit"],"repository":{"url":"git+https://github.com/bizjs/nestkit.git","type":"git"},"description":"A toolkit package for nest.js","maintainers":[{"name":"hm910705","email":"hm910705@163.com"}],"readme":"# nestkit\n\nA toolkit package for nest.js\n\n## Get started\n\n### Request validation\n\nUse `ValidationPipe` directly from `@nestjs/common`. The previous NestKit\n`RequestValidationPipe` export has been removed.\n\n```ts\nimport { ValidationPipe } from '@nestjs/common';\n\napp.useGlobalPipes(new ValidationPipe());\n```\n\nEnable `transform: true` to pass transformed DTO instances to handlers. Configure\n`whitelist` and `forbidNonWhitelisted` as needed. The official pipe's default error\nmessages and handling of edge cases differ from the removed implementation;\nreview clients that depend on validation error formatting.\n\n## Session\n\nUse `import { expressSession } from '@bizjs/nestkit'` for the TypeScript session middleware with optional Cookie transport and a custom SID reader. See the [Session guide](src/express-session/README.md) for upstream links, current changes, NestJS setup, and Header SID login examples.\n\n## Develop\n\n```bash\npnpm install --frozen-lockfile\npnpm build\npnpm test\npnpm test express-session\npnpm run test:cov\n```\n\nTests use Vitest for both toolkit unit tests and session tests. `pnpm test` runs\nonce; `pnpm run test:watch` starts watch mode. HTTPS tests use the committed fixtures.\n\n`pnpm build` uses Vite Library mode to emit CommonJS (`.js`), ESM (`.mjs`),\nsource maps, and TypeScript declarations in `dist/`. Dependencies and peer dependencies\nremain external. Vite 8’s built-in Oxc transformation reads the TypeScript decorator and metadata options from `tsconfig.json`.\nThe session library is available through `@bizjs/nestkit/express-session`.\nExisting source module paths remain available under `dist/`.\n\n## Publishing\n\nUpdate the version and changelog, then manually run **Publish to npm** in GitHub\nActions on the branch to publish. The workflow installs dependencies, builds and\npublishes. It uses npm Trusted Publishing (OIDC), without `NODE_AUTH_TOKEN` or an\nnpm token secret. Node.js 24 provides a compatible npm CLI (11.5.1 or later).\n\nConfigure the GitHub Actions trusted publisher once in the npm settings for\n`@bizjs/nestkit`:\n\n- Organization or user: `bizjs`\n- Repository: `nestkit`\n- Workflow filename: `npm-publish.yml`\n- Environment: leave empty\n- Allow direct publishing with `npm publish`\n\nSee [npm's trusted publishing documentation](https://docs.npmjs.com/trusted-publishers/).\nAfter the first successful OIDC publication, the old publishing token can be revoked.\n\nFor local publishing, authenticate with `npm login`, then run `pnpm run pub`.\nThis builds and publishes without running tests automatically. To preview the\npackage locally, run `pnpm build` followed by `npm pack --dry-run`.\nJavaScript, `.d.ts` declarations, source maps and documentation are included;\nTypeScript incremental build caches are excluded.\n\n## Response wrapping\n\nRegister `ResponseTransformInterceptor` through Nest dependency injection (for\nexample, with `APP_INTERCEPTOR`). Ordinary JSON responses use\n`{ success: true, statusCode, data, message: 'ok' }`, with the current HTTP status.\n\nController and pipe exceptions reaching this interceptor use\n`{ success: false, statusCode, data: null, message }`. `HttpException` status codes\nand messages (including validation message arrays) are preserved. Unexpected\nerrors are logged and return HTTP 500 with `Internal server error`.\nGuard failures, unmatched routes and request-body parsing errors occur outside\nthis interceptor and retain their existing exception handling.\n\n`@PureResponse()` skips wrapping. It works on controllers and methods; a method's\nsetting takes precedence over its controller's setting:\n\n```ts\n@PureResponse()\n@Controller('items')\nexport class ItemsController {\n  @Get('raw')\n  raw() {\n    return { id: 1 }; // Returned unchanged\n  }\n\n  @PureResponse(false)\n  @Get('wrapped')\n  wrapped() {\n    return { id: 1 }; // Wrapped in the standard response envelope\n  }\n}\n```\n\nThe interceptor automatically preserves non-HTTP responses, `@Sse()` and\n`@Redirect()` and `@Render()` responses, HEAD requests, 204/205 and 3xx responses, sent responses,\n`StreamableFile`, Node streams, binary data, and `undefined`. Downloads marked\nwith `Content-Disposition: attachment` and explicit non-JSON content types are\nalso preserved. `application/json` and `application/*+json` are eligible for\nwrapping. Without a content type, ordinary values (including strings, arrays,\nDTO objects and `null`) are eligible. Set the content type or use `@PureResponse()`\nfor raw text or other custom formats. `@PureResponse(false)` does not override\nthese automatic exclusions. Direct `@Res().send()` responses remain managed by\nthe handler. For excluded routes/responses, errors propagate unchanged to Nest\nexception handling.\n\n## Positive integers\n\n`PositiveIntegerPipe` accepts numbers or decimal digit strings and returns a\nnumber synchronously. Values must be between `1` and `Number.MAX_SAFE_INTEGER`\n(inclusive). Leading zeros are accepted (`\"0012\"` becomes `12`); whitespace,\nexplicit signs, decimal points, scientific notation, and non-decimal string\nformats are rejected. Booleans, arrays, objects, and bigint values are rejected.\n\n`@IsPositiveIntegerString()` applies the same range and format rules but accepts\nstrings only. These stricter rules replace the previous permissive numeric\ncoercion. Keep identifiers above the safe integer limit as strings and use a\nseparate string validator. Numeric inputs are checked as received: precision or\nformat information already lost during JSON parsing cannot be recovered.\n\n## Redis lock lifecycle\n\nRedisLock uses the `redis` v5 client. Its first operation explicitly connects;\nconcurrent first operations share that pending connection. A completed or failed\nconnection attempt is not cached, so a later call can connect again after failure.\nAutomatic reconnection uses up to three retries per connection cycle, with a\n5-second connection-attempt timeout. Commands have no separate timeout; an\nunresponsive connection may leave commands pending until it closes or `close()`\nis called.\nOperations wait for a pending connection/reconnection, but fail if it reports an\nerror. Offline command queuing is disabled, so a disconnect between readiness\nand command dispatch fails the command instead of delaying it. A failed command\ndoes not guarantee that Redis never executed it. Use `onError` to customize\nconnection-error reporting (defaults to `console.error`).\n\n`await redisLock.close()` immediately destroys the connection and rejects pending\ncommands instead of waiting for their replies. Release\nheld locks before closing: closing the connection does not delete locks; any\nunreleased locks remain until their TTL expires. Repeated calls share the same\nshutdown result. Acquire, release, and renewal operations reject after closing.\n\n```ts\nconst redisLock = new RedisLock({ redisUrl: 'redis://localhost:6379' });\ntry {\n  const lock = await redisLock.acquireLock('job', 30);\n  if (lock) {\n    try {\n      await doWork();\n    } finally {\n      await lock.release();\n    }\n  }\n} finally {\n  await redisLock.close();\n}\n```\n\nIn Nest applications, call `close()` from the owning provider's shutdown hook.\n\n## Wrapped memory cache\n\nPass one async loader directly; it receives the cache key and returns its value.\n`ttl` and `refreshThreshold` are in milliseconds.\n\n```ts\nconst cache = new WrappedMemoryCache({\n  ttl: 10000,\n  refreshThreshold: 3000,\n  refreshFn: async (key) => fetchProject(key),\n  onRefreshError: (key, error) => console.error(key, error),\n});\n\nconst project = await cache.getCachedValue('project1');\nawait cache.delCachedValue('project1');\n```\n\nMigration: replace `refreshFn: key => () => load(key)` with\n`refreshFn: key => load(key)` (or `refreshFn: load`). Background refresh failure\npreserves the existing value until its original expiry; a failed initial load\nreturns `undefined`.\n\n## Redis sessions (connect-redis v9)\n\nSession storage now uses `connect-redis` v9 and the `redis` v5 client. The\napplication owns the connection. `createRedisStore` now accepts a client instead\nof a URL; pass `connectionName` as `name` when creating that client.\n\n```ts\nimport { createClient } from 'redis';\nimport session = require('express-session');\nimport { createRedisStore } from '@bizjs/nestkit';\n\nconst client = createClient({\n  url: process.env.REDIS_URL,\n  name: 'session',\n});\nclient.on('error', console.error);\nawait client.connect();\n\nconst store = createRedisStore(client, { prefix: 'myapp:sess:' });\napp.use(session({\n  store,\n  secret: process.env.SESSION_SECRET!,\n  resave: false,\n  saveUninitialized: false,\n}));\n```\n\nInstall `express-session` in the consuming application. In its owning provider's\nshutdown hook, after requests have drained, use `await client.close()` for normal\nshutdown (`client.destroy()` for forced disconnection). The store neither\nconnects nor closes the supplied client. Use separate Lock and Session clients\nso closing a lock instance does not close the session connection. Applications\nmay also use `new RedisStore({ client, prefix })` directly.\n","readmeFilename":"README.md"}