{"_id":"express-ctx","_rev":"2-cbbe49e6d80d4fe4791026004c099c2a","name":"express-ctx","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"express-ctx","version":"0.1.0","description":"express context based on async_hooks without getting lost","main":"dist/index.js","scripts":{"test":"jest","build":"tsc","report":"cat ./coverage/lcov.info | coveralls"},"engineStrict":false,"engines":{"node":"^4.7 || >=6.9 || >=7.3 || >=8.2.1"},"repository":{"type":"git","url":"git+https://github.com/iamolegga/express-ctx.git"},"keywords":["express-ctx","express-context","express","context","async_hooks","cls-hooked"],"author":{"name":"Oleg Repin","email":"iamolegga@gmail.com","url":"http://github.com/iamolegga"},"license":"MIT","bugs":{"url":"https://github.com/iamolegga/express-ctx/issues"},"homepage":"https://github.com/iamolegga/express-ctx#readme","dependencies":{"cls-hooked":"^4.2.2"},"devDependencies":{"@types/cls-hooked":"^4.3.0","@types/express":"^4.17.1","coveralls":"^3.0.6","express":"^4.17.1","jest":"^24.9.0","supertest":"^4.0.2","typescript":"^3.6.2"},"jest":{"testEnvironment":"node","collectCoverage":true},"gitHead":"c78e3dbef9ca38c44458b53a1183a005c83b0716","_id":"express-ctx@0.1.0","_nodeVersion":"12.9.1","_npmVersion":"6.10.2","dist":{"integrity":"sha512-5h3BS5LOFOiqpu/QbNmT3hupmVVy5G8LPvseWg/D1/KBLyJCjh8SmrAx7jzlEaoYL8VRMte2DjAexMJxBmS3TA==","shasum":"63266cc0191eafdea14f1534116ed6efacbf42c1","tarball":"https://registry.npmjs.org/express-ctx/-/express-ctx-0.1.0.tgz","fileCount":17,"unpackedSize":49018,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdaQPyCRA9TVsSAnZWagAAneQP+gM1OtYfXiTVeTCjY+wK\nDct5A1Z3fDL6TQdsM/hvJPYZSVrsyubuFUTun1gBHjGtAjxsT+Wl/wNmyJNB\nutzx2hIfoVQ/3LeLfhDzNVZK0ez4ngvHzL/o4eXWmoktKJ+pPEj8t3l8AdNe\n2ZVHilsHCkNeq76YnETiWCcohf/I2RsEY6PRAj2tOF93ziq+X8G6fQEGHzrp\nBTFQfc3rURpMZVKOE6iqPh7FNn0uuEQswQUEn3BkwZR8khB+8D/w5EsCZQQV\n2rnkNS6o6SUuyuefGjok01tsg3drO63z1abgXAHd5mAEqt9yoklWrP38jovK\nnDgdA/QEJ2dbkPx561Yzbh/r6iTpyxD0qMPVp1OfUICh8e/DYMDprspO/Hm6\nlVnOvibOOgaiW848qX5bhZQW460XhtpmS1zv9HJ/r6UwfiKQNMiOp3NRRZSX\ngnVXE2d3gO4hOX/sNP8SyMRS0k2cUknNiSDBrHk67zgvAEQuX7Cj58VztwAP\nfj4pfNwSqwr2+8P7B7pGn1YzFT+Bb9cW2fl8/WSczv13/mEWT2DFfV4SIuT+\nsBDEpvhpfonbsIQHZKGqNvIgxESZ5CwiM3vzZz/yf0kCcOElPGCvgpm7j7u9\nlSaiMCaBO4b9e5rj53YHa6Arofs/grg41aAZrp1vuoRVDoEoqq6CKaQWlEM5\nt7g4\r\n=mKV1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHRdqNZEXKTH8MBo6UHiZkXO7C9E/JpYEQ669IJ6+2wMAiBR8wEVP+c3X1fU9AnHtb6XVrMxusdBE5TKUE/8mh3pAw=="}]},"maintainers":[{"name":"iamolegga","email":"iamolegga@gmail.com"}],"_npmUser":{"name":"iamolegga","email":"iamolegga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-ctx_0.1.0_1567163377666_0.8881939367439247"},"_hasShrinkwrap":false},"0.1.1":{"name":"express-ctx","version":"0.1.1","description":"express context based on async_hooks without getting lost","main":"dist/index.js","scripts":{"test":"jest","build":"tsc","report":"cat ./coverage/lcov.info | coveralls"},"engineStrict":false,"engines":{"node":"^4.7 || >=6.9 || >=7.3 || >=8.2.1"},"repository":{"type":"git","url":"git+https://github.com/iamolegga/express-ctx.git"},"keywords":["express-ctx","express-context","express","context","async_hooks","cls-hooked"],"author":{"name":"Oleg Repin","email":"iamolegga@gmail.com","url":"http://github.com/iamolegga"},"license":"MIT","bugs":{"url":"https://github.com/iamolegga/express-ctx/issues"},"homepage":"https://github.com/iamolegga/express-ctx#readme","dependencies":{"cls-hooked":"^4.2.2"},"devDependencies":{"@types/cls-hooked":"^4.3.0","@types/express":"^4.17.1","coveralls":"^3.0.6","express":"^4.17.1","jest":"^24.9.0","supertest":"^4.0.2","typescript":"^3.6.2"},"jest":{"testEnvironment":"node","collectCoverage":true},"gitHead":"1b075ffdb9cc14d94d69e47fb30ac66bd7578568","_id":"express-ctx@0.1.1","_nodeVersion":"12.9.1","_npmVersion":"6.10.2","dist":{"integrity":"sha512-n2toe9c4toLEHQcIWglXBMU0bVZrYVQxG4kn/4bu7kTqZkf3AmmwyYZ/pqjv7QFcQ1bC57J8uDEKRnMRPKBnpQ==","shasum":"f4b948c7176def128acef43e188497fccff313da","tarball":"https://registry.npmjs.org/express-ctx/-/express-ctx-0.1.1.tgz","fileCount":17,"unpackedSize":49305,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdaQbpCRA9TVsSAnZWagAAivMP/R2fXF/RexmH4Hw+Kgh8\npUZ8+cX83WD4DL7q8o/toT3nGeUMPrGfhSYihMTTRjAPNkGg8fGSdYpBIjm8\nFX8geVcvOGXpQVSz4kT5ZWwL4zAgXzM40JZ3tHMuPkuEt6SYrFJWlcDjggCi\ni0X71f1tFQ0ruN4OxNXmkjOC2xwma+GWuOlqrMRTXhNq8ihY8tF2j4LVmJ7T\nZ9znIyd/g9I6hZ5G0eIDLoEyGkH5pnNImfIDdn45Lcn4puWwqpQyGQrqLPW/\n91qPp+0qMAJIJ0cL9vDmA+DzlVfRbdyycxBRGhLYlOn1vyhvFDjHWlzXZkqw\nqMYpkoyDeYS5VciGNM/hxyonvPZ4hQskO0tBrfhw6QfSCTrwlb2ufhiY6cxz\nnPiX8RNfG6K6cmPgnnIHkzYCUYn2k2A3XlOiTokGWISFVIl2W1Ic4HqK7qE5\nGo9bnVYK/BmBnLHhI5BpV50jkdz0G6v6X48YwRFORHKsHdJ69o+0SeDN443t\n8xmrR26l3x2tybPM7r4J/04ZlI9E1cbcxaIM9lDoSKD/h43ciL/TpzYwat44\nJ/NT5scZKWsN0KV4FjBEMBaea5epPqJC5QxmzkjpATgDx+H19VWAI3L/kCk4\n3qgziYXeHDnPamviBmnIXpkWSqkYy4Lk9BtjGO1JyjOncUWMFldOdO3qgont\nhgaq\r\n=f5XK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAmoHuiP04xAVNQdarp8y8gzOwELp1pPvMmx3Job2mu9AiBfKJnwXFCqyoiWLNjTajTe61fwtTnCAm2szmsqWVxzxw=="}]},"maintainers":[{"name":"iamolegga","email":"iamolegga@gmail.com"}],"_npmUser":{"name":"iamolegga","email":"iamolegga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-ctx_0.1.1_1567164136869_0.09394528357807541"},"_hasShrinkwrap":false}},"time":{"created":"2019-08-30T11:09:37.666Z","0.1.0":"2019-08-30T11:09:37.815Z","modified":"2022-05-01T22:43:06.899Z","0.1.1":"2019-08-30T11:22:16.976Z"},"maintainers":[{"name":"iamolegga","email":"iamolegga@gmail.com"}],"description":"express context based on async_hooks without getting lost","homepage":"https://github.com/iamolegga/express-ctx#readme","keywords":["express-ctx","express-context","express","context","async_hooks","cls-hooked"],"repository":{"type":"git","url":"git+https://github.com/iamolegga/express-ctx.git"},"author":{"name":"Oleg Repin","email":"iamolegga@gmail.com","url":"http://github.com/iamolegga"},"bugs":{"url":"https://github.com/iamolegga/express-ctx/issues"},"license":"MIT","readme":"# express-ctx\n\n![npm](https://img.shields.io/npm/v/express-ctx) ![Travis (.org)](https://img.shields.io/travis/iamolegga/express-ctx) [![Coverage Status](https://coveralls.io/repos/github/iamolegga/express-ctx/badge.svg?branch=master)](https://coveralls.io/github/iamolegga/express-ctx?branch=master)\n\n`express` context based on `async_hooks` without getting lost context\n\n## Install\n\n```sh\nnpm i express-ctx\n```\n\n## Usage\n\n```js\nconst express = require('express');\nconst { middleware, setValue, getValue } = require('express-ctx');\nconst usersRepository = require('./usersRepository'); // some your services\n\nconst app = express();\n\napp.use(middleware); // must be set before using setValue/getValue\n\napp.use((req, res, next) => {\n  usersRepository.findOne(req.session.id).then(user => {\n    setValue('user', user);\n    next();\n  });\n});\n\napp.use((req, res, next) => {\n  const user = getValue('user');\n  res.json(user);\n});\n\n```\n\n## Other libs\n\nAs for now such libraries as `express-http-context` and `express-cls-hooked` do not bind `req` and `res` to namespace, so there could be troubles with middlewares based on emitting events. So this lib binds.\n","readmeFilename":"README.md"}