{"_id":"@anmiles/express-tools","_rev":"9-eb507b3d6dbb615428d6565f791953c2","name":"@anmiles/express-tools","dist-tags":{"latest":"3.0.0"},"versions":{"1.0.0":{"name":"@anmiles/express-tools","version":"1.0.0","keywords":["express","server","request"],"author":{"name":"Anatoliy Oblaukhov"},"license":"MIT","_id":"@anmiles/express-tools@1.0.0","maintainers":[{"name":"anmiles","email":"mail@anmiles.net"}],"homepage":"https://github.com/anmiles/express-tools","bugs":{"url":"https://github.com/anmiles/express-tools/issues"},"dist":{"shasum":"a4604b86c645c6e39df42a989fed86e956259e54","tarball":"https://registry.npmjs.org/@anmiles/express-tools/-/express-tools-1.0.0.tgz","fileCount":39,"integrity":"sha512-bSJdjC5K01iUzqqupuECRiQg2STy1R23nYGMXqDdGKkaeZRfJyYWTAs9dGmU4YpJQm9xnb3v5LaWv4LJ84E2Uw==","signatures":[{"sig":"MEQCIEP1dufUC9vT1vU9Z6tjVqWau+My0eZ19v0TtHNLBMWtAiBwOHu3oBYj0q/0bQGgWuQJIfh79clTfDdW4dc9tAYB8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29548},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"gitHead":"c62a146d1a5ef28f4d732c3294b117b2c657834c","scripts":{"lint":"eslint","test":"jest --verbose","build":"tsc -p ./tsconfig.build.json","test:ci":"npm test -- --ci --coverage","lint:fix":"eslint --fix","prebuild":"rimraf dist","spellcheck":"cspell .","test:watch":"npm test -- --watch","test:coverage":"npm test -- --coverage","test:watch:coverage":"npm test -- --watch --coverage","test:report:coverage":"nyc report"},"_npmUser":{"name":"anmiles","email":"mail@anmiles.net"},"repository":{"url":"git+https://github.com/anmiles/express-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"Collection of utility functions for Express server","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.4","express":"^5.1.0","out-url":"^1.2.2","server-destroy":"^1.0.1","@anmiles/logger":"^8.0.0","@anmiles/prototypes":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","jest":"^29.7.0","jiti":"^2.4.2","cspell":"^9.0.1","eslint":"^9.27.0","rimraf":"^6.0.1","ts-jest":"^29.3.4","@eslint/js":"^9.27.0","typescript":"^5.8.3","@eslint/css":"^0.8.1","@types/jest":"^29.5.14","@eslint/json":"^0.12.0","@eslint/compat":"^1.2.9","@types/express":"^5.0.2","eslint-plugin-n":"^17.18.0","@eslint/markdown":"^6.4.0","@anmiles/tsconfig":"^4.0.0","eslint-plugin-jest":"^28.11.0","eslint-plugin-import":"^2.31.0","@types/server-destroy":"^1.0.4","eslint-plugin-i18next":"^6.1.1","eslint-plugin-promise":"^7.2.1","@anmiles/eslint-config":"^9.0.0","@stylistic/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^8.32.1","eslint-plugin-align-assignments":"^1.1.2","@typescript-eslint/eslint-plugin":"^8.32.1","eslint-import-resolver-typescript":"^4.3.5"},"_npmOperationalInternal":{"tmp":"tmp/express-tools_1.0.0_1747579966549_0.1518331076596502","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@anmiles/express-tools","version":"2.0.0","keywords":["express","server","request"],"author":{"name":"Anatoliy Oblaukhov"},"license":"MIT","_id":"@anmiles/express-tools@2.0.0","maintainers":[{"name":"anmiles","email":"mail@anmiles.net"}],"homepage":"https://github.com/anmiles/express-tools","bugs":{"url":"https://github.com/anmiles/express-tools/issues"},"dist":{"shasum":"d1371f4a9274a1b2a32d4caec425c99ea5313eff","tarball":"https://registry.npmjs.org/@anmiles/express-tools/-/express-tools-2.0.0.tgz","fileCount":33,"integrity":"sha512-zC1HV/im5P1htCvwx1XTBR1+QPxKLi1tvIKAEP21ybf/k1edxOvGBE4s4wbZ+OMEsCihdy9ULclJssQvZJAphA==","signatures":[{"sig":"MEUCIQCeHlw95ocHKbqjWAVsfImTWuoGFAfmT7XkYppHngZ6XwIgW91VmoUmsocoBtVf2APdn1qKVUA06xjlqHclxCTvQ+w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27165},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"gitHead":"5fd8208b2b8b2efa62e8f3031eb69c862f73d923","scripts":{"lint":"eslint","test":"jest --verbose","build":"tsc -p ./tsconfig.build.json","test:ci":"npm test -- --ci --coverage","lint:fix":"eslint --fix","prebuild":"rimraf dist","spellcheck":"cspell .","test:watch":"npm test -- --watch","test:coverage":"npm test -- --coverage","test:watch:coverage":"npm test -- --watch --coverage","test:report:coverage":"nyc report"},"_npmUser":{"name":"anmiles","email":"mail@anmiles.net"},"repository":{"url":"git+https://github.com/anmiles/express-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"Collection of utility functions for Express server","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.24.4","express":"^5.1.0","out-url":"^1.2.2","server-destroy":"^1.0.1","@anmiles/logger":"^8.0.0","@anmiles/prototypes":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","jest":"^29.7.0","jiti":"^2.4.2","cspell":"^9.0.1","eslint":"^9.27.0","rimraf":"^6.0.1","ts-jest":"^29.3.4","@eslint/js":"^9.27.0","typescript":"^5.8.3","@eslint/css":"^0.8.1","@types/jest":"^29.5.14","@eslint/json":"^0.12.0","@eslint/compat":"^1.2.9","@types/express":"^5.0.2","eslint-plugin-n":"^17.18.0","@eslint/markdown":"^6.4.0","@anmiles/tsconfig":"^4.0.0","eslint-plugin-jest":"^28.11.0","eslint-plugin-import":"^2.31.0","@types/server-destroy":"^1.0.4","eslint-plugin-i18next":"^6.1.1","eslint-plugin-promise":"^7.2.1","@anmiles/eslint-config":"^9.0.0","@stylistic/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^8.32.1","eslint-plugin-align-assignments":"^1.1.2","@typescript-eslint/eslint-plugin":"^8.32.1","eslint-import-resolver-typescript":"^4.3.5"},"_npmOperationalInternal":{"tmp":"tmp/express-tools_2.0.0_1749063397972_0.05633937363561148","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@anmiles/express-tools","version":"2.0.1","keywords":["express","server","request"],"author":{"name":"Anatoliy Oblaukhov"},"license":"MIT","_id":"@anmiles/express-tools@2.0.1","maintainers":[{"name":"anmiles","email":"mail@anmiles.net"}],"homepage":"https://github.com/anmiles/express-tools","bugs":{"url":"https://github.com/anmiles/express-tools/issues"},"dist":{"shasum":"84d69d6377797326abbe35e0dcd7a02e9f652d33","tarball":"https://registry.npmjs.org/@anmiles/express-tools/-/express-tools-2.0.1.tgz","fileCount":33,"integrity":"sha512-HlTHszCCBWAyNDWnpq4pN7EpRNobSbc4p+ijjVj5TY3juTDzoYTRsbdi4oWxj/0/ot1WcgLFusPSsJq9nud3Ag==","signatures":[{"sig":"MEYCIQCy6/Rp2anXoq8g+YxK3HRRNaNgJp/yzeXEIukSUa64kAIhAK04uNj1HR0E46v8uuTgyWdpqFSmrDIFgblQCljrBI54","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27249},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"gitHead":"eac0757ce9b23a29f1089a36bad51c8e52ce74dd","scripts":{"lint":"eslint","test":"jest --verbose","build":"tsc -p ./tsconfig.build.json","test:ci":"npm test -- --ci --coverage","lint:fix":"eslint --fix","prebuild":"rimraf dist","spellcheck":"cspell .","test:watch":"npm test -- --watch","test:coverage":"npm test -- --coverage","test:watch:coverage":"npm test -- --watch --coverage","test:report:coverage":"nyc report"},"_npmUser":{"name":"anmiles","email":"mail@anmiles.net"},"repository":{"url":"git+https://github.com/anmiles/express-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"Collection of utility functions for Express server","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^4.0.8","express":"^5.1.0","out-url":"^1.2.2","server-destroy":"^1.0.1","@anmiles/logger":"^8.0.1","@anmiles/prototypes":"^11.2.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","jest":"^30.0.5","jiti":"^2.5.0","cspell":"^9.2.0","eslint":"^9.31.0","rimraf":"^6.0.1","ts-jest":"^29.4.0","@eslint/js":"^9.31.0","typescript":"^5.8.3","@eslint/css":"^0.10.0","@types/jest":"^30.0.0","@eslint/json":"^0.13.1","@eslint/compat":"^1.3.1","@types/express":"^5.0.3","eslint-plugin-n":"^17.21.0","@eslint/markdown":"^7.1.0","@anmiles/tsconfig":"^4.0.0","eslint-plugin-jest":"^29.0.1","eslint-plugin-import":"^2.32.0","@types/server-destroy":"^1.0.4","eslint-plugin-i18next":"^6.1.3","eslint-plugin-promise":"^7.2.1","@anmiles/eslint-config":"^9.0.3","@stylistic/eslint-plugin":"^5.2.2","@typescript-eslint/parser":"^8.38.0","eslint-plugin-align-assignments":"^1.1.2","@typescript-eslint/eslint-plugin":"^8.38.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/express-tools_2.0.1_1753340561594_0.3047965632401519","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@anmiles/express-tools","version":"2.0.3","keywords":["express","server","request"],"author":{"name":"Anatoliy Oblaukhov"},"license":"MIT","_id":"@anmiles/express-tools@2.0.3","maintainers":[{"name":"anmiles","email":"mail@anmiles.net"}],"homepage":"https://github.com/anmiles/express-tools","bugs":{"url":"https://github.com/anmiles/express-tools/issues"},"dist":{"shasum":"4278e5558dcf269e28f0717ecb484f7af5f836de","tarball":"https://registry.npmjs.org/@anmiles/express-tools/-/express-tools-2.0.3.tgz","fileCount":33,"integrity":"sha512-aaHyVQlz19Yc3qW5uoZ9upZ19veVW5Rt9XTr17hz7oI1A23bpiAVOO80ENzvrUFEEOQB9OcNdXdKMObvv6/kBQ==","signatures":[{"sig":"MEUCIExLs9BaHDQabv9AexjKv7BmFUQ9oitd3we4Eng+CLZ0AiEAt70j0ULco5lPfechJ95EX5gx+saBG/4qIU8hAYAbaPU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27230},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"gitHead":"8d6c98176489e51ee9dbc8b79ba81d58e8f507eb","scripts":{"lint":"eslint","test":"jest --verbose","build":"tsc -p ./tsconfig.build.json","test:ci":"npm test -- --ci --coverage","lint:fix":"eslint --fix","prebuild":"rimraf dist","spellcheck":"cspell .","test:watch":"npm test -- --watch","test:coverage":"npm test -- --coverage","test:watch:coverage":"npm test -- --watch --coverage","test:report:coverage":"nyc report"},"_npmUser":{"name":"anmiles","email":"mail@anmiles.net"},"repository":{"url":"git+https://github.com/anmiles/express-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"Collection of utility functions for Express server","directories":{},"_nodeVersion":"20.19.2","dependencies":{"express":"^5.1.0","out-url":"^1.2.2","server-destroy":"^1.0.1","@anmiles/logger":"^8.0.1","@anmiles/prototypes":"^11.2.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","jest":"^30.0.5","jiti":"^2.5.0","cspell":"^9.2.0","eslint":"^9.31.0","rimraf":"^6.0.1","ts-jest":"^29.4.0","@eslint/js":"^9.31.0","typescript":"^5.8.3","@eslint/css":"^0.10.0","@types/jest":"^30.0.0","@eslint/json":"^0.13.1","@eslint/compat":"^1.3.1","@types/express":"^5.0.3","eslint-plugin-n":"^17.21.0","@eslint/markdown":"^7.1.0","@anmiles/tsconfig":"^4.0.0","eslint-plugin-jest":"^29.0.1","eslint-plugin-import":"^2.32.0","@types/server-destroy":"^1.0.4","eslint-plugin-i18next":"^6.1.3","eslint-plugin-promise":"^7.2.1","@anmiles/eslint-config":"^9.0.3","@stylistic/eslint-plugin":"^5.2.2","@typescript-eslint/parser":"^8.38.0","eslint-plugin-align-assignments":"^1.1.2","@typescript-eslint/eslint-plugin":"^8.38.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/express-tools_2.0.3_1753341383489_0.5512615828826339","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@anmiles/express-tools","version":"2.0.4","keywords":["express","server","request"],"author":{"name":"Anatoliy Oblaukhov"},"license":"MIT","_id":"@anmiles/express-tools@2.0.4","maintainers":[{"name":"anmiles","email":"mail@anmiles.net"}],"homepage":"https://github.com/anmiles/express-tools","bugs":{"url":"https://github.com/anmiles/express-tools/issues"},"dist":{"shasum":"61e71f66be65c36d33a49cba744a48d809aca355","tarball":"https://registry.npmjs.org/@anmiles/express-tools/-/express-tools-2.0.4.tgz","fileCount":33,"integrity":"sha512-jC5I/CrTwh7OTSpG0rP1Wn/td3PT/oERoUGBXPBQDyf3LhQU2xu1uz86cTQnLUfOJz3IfIEPkAShmTRs3es4Ug==","signatures":[{"sig":"MEUCIQCCQEyQiuEGsr/Z51hZONWa5nQHEB4ylr1HSxAaDFTsdgIgPfe6trrKcZNFgcV0NlUL6dRhbI0ociErOw6rwFS+bWs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27316},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"gitHead":"b669adfb01c13256685a38d7eca329a64d00f917","scripts":{"lint":"eslint","test":"jest --verbose","build":"tsc -p ./tsconfig.build.json","test:ci":"npm test -- --ci --coverage","lint:fix":"eslint --fix","prebuild":"rimraf dist","spellcheck":"cspell .","test:watch":"npm test -- --watch","test:coverage":"npm test -- --coverage","test:watch:coverage":"npm test -- --watch --coverage","test:report:coverage":"nyc report"},"_npmUser":{"name":"anmiles","email":"mail@anmiles.net"},"repository":{"url":"git+https://github.com/anmiles/express-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"Collection of utility functions for Express server","directories":{},"_nodeVersion":"20.19.2","dependencies":{"express":"^5.1.0","out-url":"^1.2.2","server-destroy":"^1.0.1","@anmiles/logger":"^8.0.2","@anmiles/prototypes":"^11.2.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","jest":"^30.0.5","jiti":"^2.5.0","cspell":"^9.2.0","eslint":"^9.31.0","rimraf":"^6.0.1","ts-jest":"^29.4.0","@eslint/js":"^9.31.0","typescript":"^5.8.3","@eslint/css":"^0.10.0","@types/jest":"^30.0.0","@eslint/json":"^0.13.1","@eslint/compat":"^1.3.1","@types/express":"^5.0.3","eslint-plugin-n":"^17.21.0","@eslint/markdown":"^7.1.0","@anmiles/tsconfig":"^4.0.0","eslint-plugin-jest":"^29.0.1","eslint-plugin-import":"^2.32.0","@types/server-destroy":"^1.0.4","eslint-plugin-i18next":"^6.1.3","eslint-plugin-promise":"^7.2.1","@anmiles/eslint-config":"^9.0.4","@stylistic/eslint-plugin":"^5.2.2","@typescript-eslint/parser":"^8.38.0","eslint-plugin-align-assignments":"^1.1.2","@typescript-eslint/eslint-plugin":"^8.38.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/express-tools_2.0.4_1764419120468_0.44659892183961025","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"@anmiles/express-tools","version":"2.0.5","keywords":["express","server","request"],"author":{"name":"Anatoliy Oblaukhov"},"license":"MIT","_id":"@anmiles/express-tools@2.0.5","maintainers":[{"name":"anmiles","email":"mail@anmiles.net"}],"homepage":"https://github.com/anmiles/express-tools","bugs":{"url":"https://github.com/anmiles/express-tools/issues"},"dist":{"shasum":"d2ca28b8de5bd692a86b184b7b1384f33c33bebf","tarball":"https://registry.npmjs.org/@anmiles/express-tools/-/express-tools-2.0.5.tgz","fileCount":33,"integrity":"sha512-qmaLNmqmTTIZ1rzweLD3eCZRFeNy79PwfVVDQK+Re+r4Ceo/xeIIAdW6csFYlScs1nCjSrcto4Dt8Kz6Dg+wTw==","signatures":[{"sig":"MEUCIQDky66/eA7L+oZWKcFpOR4rt7S767j3bwyWT4MIPwn5DgIgTcAnkM/SvwE/R7J6ktKKzYVAU2moQyGSLIw/NsPGjEo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27411},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"gitHead":"e13214fb7768dc781271e682e6183b990ee76e23","scripts":{"lint":"eslint","test":"jest --verbose","build":"tsc -p ./tsconfig.build.json","test:ci":"npm test -- --ci --coverage","lint:fix":"eslint --fix","prebuild":"rimraf dist","spellcheck":"cspell .","test:watch":"npm test -- --watch","test:coverage":"npm test -- --coverage","test:watch:coverage":"npm test -- --watch --coverage","test:report:coverage":"nyc report"},"_npmUser":{"name":"anmiles","email":"mail@anmiles.net"},"repository":{"url":"git+https://github.com/anmiles/express-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"Collection of utility functions for Express server","directories":{},"_nodeVersion":"20.19.2","dependencies":{"express":"^5.2.1","out-url":"^1.2.2","server-destroy":"^1.0.1","@anmiles/logger":"^8.0.3","@anmiles/prototypes":"^11.2.5"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","jest":"^30.2.0","jiti":"^2.6.1","cspell":"^9.6.2","eslint":"^9.39.2","rimraf":"^6.1.2","ts-jest":"^29.4.6","@eslint/js":"^9.39.2","typescript":"^5.9.3","@eslint/css":"^0.14.1","@types/jest":"^30.0.0","@eslint/json":"^1.0.0","@eslint/compat":"^2.0.2","@types/express":"^5.0.6","eslint-plugin-n":"^17.23.2","@eslint/markdown":"^7.5.1","@anmiles/tsconfig":"^4.0.1","eslint-plugin-jest":"^29.12.1","eslint-plugin-import":"^2.32.0","@types/server-destroy":"^1.0.4","eslint-plugin-i18next":"^6.1.3","eslint-plugin-promise":"^7.2.1","@anmiles/eslint-config":"^10.0.1","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-align-assignments":"^1.1.2","@typescript-eslint/eslint-plugin":"^8.54.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/express-tools_2.0.5_1769944898900_0.9452941402583188","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"@anmiles/express-tools","version":"2.0.6","keywords":["express","server","request"],"author":{"name":"Anatoliy Oblaukhov"},"license":"MIT","_id":"@anmiles/express-tools@2.0.6","maintainers":[{"name":"anmiles","email":"mail@anmiles.net"}],"homepage":"https://github.com/anmiles/express-tools","bugs":{"url":"https://github.com/anmiles/express-tools/issues"},"dist":{"shasum":"f65ebd71de64c02544975c93849916162bb8b4f8","tarball":"https://registry.npmjs.org/@anmiles/express-tools/-/express-tools-2.0.6.tgz","fileCount":33,"integrity":"sha512-L9txcOHg67SOvgqaQ1aZ/DJMHbokv9bRnUwMsIIZR0z3mu62WOdayxWAOy7u8oCCGiQxvLuskpIGoP9MG3iHrA==","signatures":[{"sig":"MEUCIQCZpdtOQyXECoNucHEVx8mqLObErHEWYk8eQQSgcXSTWQIgdpNlWROLHR9cbRAnf+opytz0Jp4TItHKu2UTNhrDaIY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27497},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"gitHead":"7d9ee26fa895f7d66242bdfc394a18be78359f77","scripts":{"lint":"eslint","test":"jest --verbose","build":"tsc -p ./tsconfig.build.json","test:ci":"npm test -- --ci --coverage","lint:fix":"eslint --fix","prebuild":"rimraf dist","spellcheck":"cspell .","test:watch":"npm test -- --watch","test:coverage":"npm test -- --coverage","test:watch:coverage":"npm test -- --watch --coverage","test:report:coverage":"nyc report"},"_npmUser":{"name":"anmiles","email":"mail@anmiles.net"},"repository":{"url":"git+https://github.com/anmiles/express-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"Collection of utility functions for Express server","directories":{},"_nodeVersion":"20.19.2","dependencies":{"express":"^5.2.1","out-url":"^1.2.2","server-destroy":"^1.0.1","@anmiles/logger":"^8.0.3","@anmiles/prototypes":"^11.2.5"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","jest":"^30.2.0","jiti":"^2.6.1","cspell":"^9.6.2","eslint":"^9.39.2","rimraf":"^6.1.2","ts-jest":"^29.4.6","@eslint/js":"^9.39.2","typescript":"^5.9.3","@eslint/css":"^0.14.1","@types/jest":"^30.0.0","@eslint/json":"^1.0.0","@eslint/compat":"^2.0.2","@types/express":"^5.0.6","eslint-plugin-n":"^17.23.2","@eslint/markdown":"^7.5.1","@anmiles/tsconfig":"^4.0.1","eslint-plugin-jest":"^29.12.1","eslint-plugin-import":"^2.32.0","@types/server-destroy":"^1.0.4","eslint-plugin-i18next":"^6.1.3","eslint-plugin-promise":"^7.2.1","@anmiles/eslint-config":"^10.0.1","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-align-assignments":"^1.1.2","@typescript-eslint/eslint-plugin":"^8.54.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/express-tools_2.0.6_1776083142048_0.41078408451330173","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@anmiles/express-tools","version":"2.1.0","keywords":["express","server","request"],"author":{"name":"Anatoliy Oblaukhov"},"license":"MIT","_id":"@anmiles/express-tools@2.1.0","maintainers":[{"name":"anmiles","email":"mail@anmiles.net"}],"homepage":"https://github.com/anmiles/express-tools","bugs":{"url":"https://github.com/anmiles/express-tools/issues"},"dist":{"shasum":"63bac6aab2de56ef832400d1536c324dec45842c","tarball":"https://registry.npmjs.org/@anmiles/express-tools/-/express-tools-2.1.0.tgz","fileCount":33,"integrity":"sha512-2sMawvcTKTW84caS05dFMvZDw7oN/bLJLiw6ErAWJrSS25wnMra/E7Y8MT7gsFsn9loV67tgY/ccir0clj70yA==","signatures":[{"sig":"MEQCICdY3+jA0svwl0MNrBddBokH25pr5/NA1yOP451b44hQAiBScFzZ85u+IJGrOy6uFmzYbWYHJvNcw7qjxjTrSewnlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29852},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"gitHead":"03d08d18d79a9636b1ade2ba673d47d98095dc4a","scripts":{"lint":"eslint","test":"jest --verbose","build":"tsc -p ./tsconfig.build.json","test:ci":"npm test -- --ci --coverage","lint:fix":"eslint --fix","prebuild":"rimraf dist","spellcheck":"cspell .","test:watch":"npm test -- --watch","test:coverage":"npm test -- --coverage","test:watch:coverage":"npm test -- --watch --coverage","test:report:coverage":"nyc report"},"_npmUser":{"name":"anmiles","email":"mail@anmiles.net"},"repository":{"url":"git+https://github.com/anmiles/express-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"Collection of utility functions for Express server","directories":{},"_nodeVersion":"20.19.2","dependencies":{"express":"^5.2.1","out-url":"^1.2.2","server-destroy":"^1.0.1","@anmiles/logger":"^8.0.3","@anmiles/prototypes":"^11.2.5"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","jest":"^30.2.0","jiti":"^2.6.1","cspell":"^9.6.2","eslint":"^9.39.2","rimraf":"^6.1.2","ts-jest":"^29.4.6","@eslint/js":"^9.39.2","typescript":"^5.9.3","@eslint/css":"^0.14.1","@types/jest":"^30.0.0","@eslint/json":"^1.0.0","@eslint/compat":"^2.0.2","@types/express":"^5.0.6","eslint-plugin-n":"^17.23.2","@eslint/markdown":"^7.5.1","@anmiles/tsconfig":"^4.0.1","eslint-plugin-jest":"^29.12.1","eslint-plugin-import":"^2.32.0","@types/server-destroy":"^1.0.4","eslint-plugin-i18next":"^6.1.3","eslint-plugin-promise":"^7.2.1","@anmiles/eslint-config":"^10.0.1","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-align-assignments":"^1.1.2","@typescript-eslint/eslint-plugin":"^8.54.0","eslint-import-resolver-typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/express-tools_2.1.0_1776474387187_0.043825207915829","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"_id":"@anmiles/express-tools@3.0.0","bugs":{"url":"https://github.com/anmiles/express-tools/issues"},"dist":{"shasum":"34a4ba8dece524a5dc4d3b4517fed66a37f9baaa","tarball":"https://registry.npmjs.org/@anmiles/express-tools/-/express-tools-3.0.0.tgz","fileCount":33,"integrity":"sha512-WcZILgQZvz8cbUvFmR7scVQSZRHAbutZrlQr8AAfsGMF9eq7bpXoPlqc3h6eW1uS1s/9EemimrCjF8dOqPeiJg==","signatures":[{"sig":"MEUCIDXbTtYEtOO9rtImh1CgnYMyvwZ7Q+rylzVTNBUCHS4YAiEA6noAS0GvjNXaWG3qlHin1zn1uEmPApfoVViECahdhJg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAyDQZjcYQdLPiC1YYsVARkG3ueJh1bAvDA+KG7MNu2HAiBRsL8oP8woT0s0zvf/JdtezDMCJvDxogmdPz1XtXbjyg=="}],"unpackedSize":30393},"main":"dist/index.js","name":"@anmiles/express-tools","types":"./dist/index.d.ts","author":{"name":"Anatoliy Oblaukhov"},"engines":{"node":">=24.18.0"},"gitHead":"7d16287051b54486eae7fd28f15b2c24322e4b2c","license":"MIT","scripts":{"lint":"eslint","test":"jest --verbose","build":"tsc -p ./tsconfig.build.json","test:ci":"npm test -- --ci --coverage","lint:fix":"eslint --fix","prebuild":"rimraf dist","spellcheck":"cspell .","test:watch":"npm test -- --watch","test:coverage":"npm test -- --coverage","test:watch:coverage":"npm test -- --watch --coverage","test:report:coverage":"nyc report"},"version":"3.0.0","_npmUser":{"name":"anmiles","email":"mail@anmiles.net"},"homepage":"https://github.com/anmiles/express-tools","keywords":["express","server","request"],"repository":{"url":"git+https://github.com/anmiles/express-tools.git","type":"git"},"_npmVersion":"11.16.0","description":"Collection of utility functions for Express server","directories":{},"maintainers":[{"name":"anmiles","email":"mail@anmiles.net"}],"_nodeVersion":"24.18.0","dependencies":{"express":"^5.2.1","out-url":"^1.3.0","server-destroy":"^1.0.1","@anmiles/logger":"^9.0.0","@anmiles/prototypes":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^18.0.0","jest":"^30.5.1","jiti":"^2.7.0","cspell":"^10.3.3","eslint":"^9.39.2","rimraf":"^6.1.3","ts-jest":"^29.4.12","@eslint/js":"^9.39.5","typescript":"^6.0.3","@eslint/css":"^2.0.0","@types/jest":"^30.0.0","@eslint/json":"^2.1.0","@eslint/compat":"^2.1.1","@types/express":"^5.0.6","eslint-plugin-n":"^18.3.0","@eslint/markdown":"^8.0.3","@anmiles/tsconfig":"^5.0.0","eslint-plugin-jest":"^29.16.6","eslint-plugin-import":"^2.32.0","@types/server-destroy":"^1.0.4","eslint-plugin-i18next":"^6.1.5","eslint-plugin-promise":"^7.3.0","@anmiles/eslint-config":"^11.0.0","@stylistic/eslint-plugin":"^5.10.0","@typescript-eslint/parser":"^8.70.0","eslint-plugin-align-assignments":"^1.1.2","@typescript-eslint/eslint-plugin":"^8.70.0","eslint-import-resolver-typescript":"^4.4.5"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/express-tools_3.0.0_1789752161664_0.7477070668098256"}}},"time":{"created":"2025-05-18T14:52:46.501Z","modified":"2026-09-18T17:22:41.906Z","1.0.0":"2025-05-18T14:52:46.737Z","2.0.0":"2025-06-04T18:56:38.175Z","2.0.1":"2025-07-24T07:02:41.796Z","2.0.3":"2025-07-24T07:16:23.736Z","2.0.4":"2025-11-29T12:25:20.718Z","2.0.5":"2026-02-01T11:21:39.034Z","2.0.6":"2026-04-13T12:25:42.183Z","2.1.0":"2026-04-18T01:06:27.407Z","3.0.0":"2026-09-18T17:22:41.736Z"},"bugs":{"url":"https://github.com/anmiles/express-tools/issues"},"author":{"name":"Anatoliy Oblaukhov"},"license":"MIT","homepage":"https://github.com/anmiles/express-tools","keywords":["express","server","request"],"repository":{"url":"git+https://github.com/anmiles/express-tools.git","type":"git"},"description":"Collection of utility functions for Express server","maintainers":[{"name":"anmiles","email":"mail@anmiles.net"}],"readme":"# @anmiles/express-tools\n\nCollection of utility functions for Express server\n\n----\n\n## Installation\n\n`npm install @anmiles/express-tools`\n\n## Usage example\n\n```ts\nimport { startServer, stopServer, createRequestHandler, createAsyncRequestHandler } from '@anmiles/express-tools';\nimport express from 'express';\n\nasync function main() {\n\ttry {\n\t\tconst app = express();\n\n\t\tconst readHandler = createAsyncRequestHandler(async () => ({ result: await getData() }));\n\n\t\tconst writeHandler = createRequestHandler((request) => {\n\t\t\twriteData(request.body);\n\t\t\treturn { result: 'OK' };\n\t\t})\n\n\t\tapp.get('/read', readHandler);\n\t\tapp.get('/write', writeHandler);\n\n\t\tawait startServer(app, { port: Number(process.env['PORT']) || 0, open: true });\n\t\t// or await startServer(app) to use any free port and do not open the page in the browser automatically\n\t} catch (ex) {\n\t\tlogger.error(ex);\n\t\tawait stopServer();\n\t}\n}\n```\n","readmeFilename":"README.md"}