{"_id":"kareem","_rev":"4082163","name":"kareem","description":"Next-generation take on pre/post function hooks","dist-tags":{"latest":"3.0.0"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"time":{"modified":"2025-11-24T21:39:02.000Z","created":"2014-12-12T05:06:06.930Z","3.0.0":"2025-11-18T20:06:33.110Z","2.6.3":"2024-04-05T20:57:21.703Z","2.6.2":"2024-04-05T20:48:07.829Z","2.6.1":"2024-04-05T20:37:58.936Z","2.6.0":"2024-03-04T20:31:24.992Z","2.5.1":"2023-01-06T17:03:35.395Z","2.5.0":"2022-12-02T02:42:14.416Z","2.4.1":"2022-06-16T20:30:49.478Z","2.4.0":"2022-06-13T18:42:22.900Z","2.3.5":"2022-03-23T13:32:22.418Z","2.3.4":"2022-02-11T01:47:11.946Z","2.3.3":"2021-12-26T16:56:04.138Z","2.3.2":"2020-12-08T15:43:33.667Z","2.3.1":"2019-08-23T03:44:36.096Z","2.3.0":"2018-09-24T15:09:51.274Z","2.2.3":"2018-09-10T01:18:44.563Z","2.2.2":"2018-09-10T01:15:36.236Z","2.2.1":"2018-06-05T14:32:55.701Z","2.2.0":"2018-06-05T14:11:51.551Z","2.1.0":"2018-05-16T15:33:18.816Z","2.0.7":"2018-04-28T17:26:00.148Z","2.0.6":"2018-03-22T17:05:55.288Z","2.0.5":"2018-02-22T23:26:46.645Z","2.0.4":"2018-02-08T18:20:58.622Z","2.0.3":"2018-02-01T03:55:02.774Z","2.0.2":"2018-01-24T00:42:19.283Z","2.0.1":"2018-01-09T20:06:55.203Z","2.0.0":"2018-01-09T20:06:05.209Z","2.0.0-rc5":"2017-12-23T15:22:43.975Z","2.0.0-rc4":"2017-12-23T03:31:13.623Z","2.0.0-rc2":"2017-12-21T23:19:15.288Z","2.0.0-rc1":"2017-12-21T16:29:12.636Z","2.0.0-rc0":"2017-12-18T02:08:36.075Z","1.5.0":"2017-07-20T22:31:52.404Z","1.4.2":"2017-07-06T00:46:58.381Z","1.4.1":"2017-04-25T02:51:15.616Z","1.4.0":"2017-04-19T05:09:24.685Z","1.3.0":"2017-03-26T23:07:02.684Z","1.2.1":"2017-02-03T18:25:21.133Z","1.2.0":"2017-01-02T04:57:16.183Z","1.1.5":"2016-12-13T01:30:37.996Z","1.1.4":"2016-12-09T19:00:16.236Z","1.1.3":"2016-06-27T15:15:12.369Z","1.1.2":"2016-06-27T14:37:23.837Z","1.1.1":"2016-06-27T14:04:39.088Z","1.1.0":"2016-05-11T03:18:56.903Z","1.0.1":"2015-05-10T16:09:15.642Z","1.0.0":"2015-01-28T21:00:30.725Z","0.0.8":"2015-01-27T22:14:31.482Z","0.0.7":"2015-01-04T23:34:43.812Z","0.0.6":"2015-01-01T19:26:56.889Z","0.0.5":"2015-01-01T19:25:18.799Z","0.0.4":"2014-12-13T20:08:39.750Z","0.0.3":"2014-12-12T21:02:05.037Z","0.0.2":"2014-12-12T05:09:33.082Z","0.0.1":"2014-12-12T05:06:06.930Z"},"users":{"bojand":true,"igorissen":true,"simonfan":true,"holly":true,"kkk123321":true,"hayathuk":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"repository":{"type":"git","url":"git://github.com/mongoosejs/kareem.git"},"versions":{"3.0.0":{"name":"kareem","version":"3.0.0","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"lint":"eslint .","test":"mocha ./test/*","test-coverage":"nyc --reporter lcov mocha ./test/*","docs":"node ./docs.js"},"repository":{"type":"git","url":"git://github.com/mongoosejs/kareem.git"},"devDependencies":{"acquit":"1.x","acquit-ignore":"0.2.x","eslint":"8.20.0","mocha":"9.2.0","nyc":"15.1.0"},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","engines":{"node":">=18.0.0"},"_id":"kareem@3.0.0","gitHead":"6c9363f5355f17707e0379de1356770bd9479c6c","types":"./index.d.ts","bugs":{"url":"https://github.com/mongoosejs/kareem/issues"},"homepage":"https://github.com/mongoosejs/kareem#readme","_nodeVersion":"20.18.1","_npmVersion":"10.8.2","dist":{"shasum":"b1abcd504a01d45d712d311bf2178ce2bc0081bb","size":43133,"noattachment":false,"key":"/kareem/-/kareem-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-3.0.0.tgz"},"_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"directories":{},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/kareem_3.0.0_1763496392907_0.4678562768644914"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-18T20:06:33.110Z","publish_time":1763496393110,"_source_registry_name":"default","_cnpm_publish_time":1763496393110},"2.6.3":{"name":"kareem","version":"2.6.3","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"lint":"eslint .","test":"mocha ./test/*","test-coverage":"nyc --reporter lcov mocha ./test/*","docs":"node ./docs.js"},"repository":{"type":"git","url":"git://github.com/mongoosejs/kareem.git"},"devDependencies":{"acquit":"1.x","acquit-ignore":"0.2.x","eslint":"8.20.0","mocha":"9.2.0","nyc":"15.1.0"},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","engines":{"node":">=12.0.0"},"types":"./index.d.ts","gitHead":"8c272fad28ac4a618862dc47ed2bab7fbedb319e","bugs":{"url":"https://github.com/mongoosejs/kareem/issues"},"homepage":"https://github.com/mongoosejs/kareem#readme","_id":"kareem@2.6.3","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"shasum":"23168ec8ffb6c1abfd31b7169a6fb1dd285992ac","size":15213,"noattachment":false,"key":"/kareem/-/kareem-2.6.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.6.3.tgz"},"_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"directories":{},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem_2.6.3_1712350641516_0.3778938747605478"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-04-05T20:57:21.703Z","publish_time":1712350641703,"_source_registry_name":"default","_cnpm_publish_time":1712350641703},"2.6.2":{"name":"kareem","version":"2.6.2","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"lint":"eslint .","test":"mocha ./test/*","test-coverage":"nyc --reporter lcov mocha ./test/*","docs":"node ./docs.js"},"repository":{"type":"git","url":"git://github.com/mongoosejs/kareem.git"},"devDependencies":{"acquit":"1.x","acquit-ignore":"0.2.x","eslint":"8.20.0","mocha":"9.2.0","nyc":"15.1.0"},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","engines":{"node":">=12.0.0"},"types":"./index.d.ts","gitHead":"bfea7fc497fb157853ef3784305519ec511af20f","bugs":{"url":"https://github.com/mongoosejs/kareem/issues"},"homepage":"https://github.com/mongoosejs/kareem#readme","_id":"kareem@2.6.2","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"shasum":"4416c4298a47dc2b5bed858d0e22f32e531b6fce","size":16320,"noattachment":false,"key":"/kareem/-/kareem-2.6.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.6.2.tgz"},"_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"directories":{},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem_2.6.2_1712350087700_0.9308944293406187"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-04-05T20:48:07.829Z","publish_time":1712350087829,"_source_registry_name":"default","_cnpm_publish_time":1712350087829},"2.6.1":{"name":"kareem","version":"2.6.1","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"lint":"eslint .","test":"mocha ./test/*","test-coverage":"nyc --reporter lcov mocha ./test/*","docs":"node ./docs.js"},"repository":{"type":"git","url":"git://github.com/mongoosejs/kareem.git"},"devDependencies":{"acquit":"1.x","acquit-ignore":"0.2.x","eslint":"8.20.0","mocha":"9.2.0","nyc":"15.1.0"},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","engines":{"node":">=12.0.0"},"types":"./index.d.ts","gitHead":"da6e4264fa9be4adc46435c8f71c90611a415587","bugs":{"url":"https://github.com/mongoosejs/kareem/issues"},"homepage":"https://github.com/mongoosejs/kareem#readme","_id":"kareem@2.6.1","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"shasum":"511da8a61beb97ab33224a4fdb68d3b1e180e592","size":10393,"noattachment":false,"key":"/kareem/-/kareem-2.6.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.6.1.tgz"},"_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"directories":{},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem_2.6.1_1712349478791_0.43726024144601916"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-04-05T20:37:58.936Z","publish_time":1712349478936,"_source_registry_name":"default","_cnpm_publish_time":1712349478936},"2.6.0":{"name":"kareem","version":"2.6.0","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"lint":"eslint .","test":"mocha ./test/*","test-coverage":"nyc --reporter lcov mocha ./test/*","docs":"node ./docs.js"},"repository":{"type":"git","url":"git://github.com/mongoosejs/kareem.git"},"devDependencies":{"acquit":"1.x","acquit-ignore":"0.2.x","eslint":"8.20.0","mocha":"9.2.0","nyc":"15.1.0"},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","engines":{"node":">=12.0.0"},"types":"./index.d.ts","gitHead":"628f0c4f8b13990b47890e8fd1913ff35ac5e9e4","bugs":{"url":"https://github.com/mongoosejs/kareem/issues"},"homepage":"https://github.com/mongoosejs/kareem#readme","_id":"kareem@2.6.0","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"shasum":"b68740c730aa4448a3414d961e6c27c36a7c7a95","size":10392,"noattachment":false,"key":"/kareem/-/kareem-2.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.6.0.tgz"},"_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"directories":{},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem_2.6.0_1709584284854_0.16910749333634145"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-03-04T20:31:24.992Z","publish_time":1709584284992,"_source_registry_name":"default","_cnpm_publish_time":1709584284992},"2.5.1":{"name":"kareem","version":"2.5.1","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"lint":"eslint .","test":"mocha ./test/*","test-coverage":"nyc --reporter lcov mocha ./test/*","docs":"node ./docs.js"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"1.x","acquit-ignore":"0.2.x","eslint":"8.20.0","mocha":"9.2.0","nyc":"15.1.0"},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","engines":{"node":">=12.0.0"},"gitHead":"a5326367ddfa0a4480b843283a4fb74bfe56cc5d","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.5.1","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"shasum":"7b8203e11819a8e77a34b3517d3ead206764d15d","size":10364,"noattachment":false,"key":"/kareem/-/kareem-2.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.5.1.tgz"},"_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"directories":{},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem_2.5.1_1673024615216_0.9544361140804851"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-01-06T17:39:48.274Z","publish_time":1673024615395,"_cnpm_publish_time":1673024615395},"2.5.0":{"name":"kareem","version":"2.5.0","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"lint":"eslint .","test":"mocha ./test/*","test-coverage":"nyc --reporter lcov mocha ./test/*","docs":"node ./docs.js"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"1.x","acquit-ignore":"0.2.x","eslint":"8.20.0","mocha":"9.2.0","nyc":"15.1.0"},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","engines":{"node":">=12.0.0"},"gitHead":"fd535fbc6cda115e259b7d35b86c22e8bbfb5338","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.5.0","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"shasum":"9d2b2272609b0d5b981757fa5794d7ad0ac041b2","size":10302,"noattachment":false,"key":"/kareem/-/kareem-2.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.5.0.tgz"},"_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"directories":{},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem_2.5.0_1669948934261_0.8729275600927116"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-12-02T02:47:22.849Z","publish_time":1669948934416,"_cnpm_publish_time":1669948934416},"2.4.1":{"name":"kareem","version":"2.4.1","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"lint":"eslint .","test":"mocha ./test/*","test-travis":"nyc mocha ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"@masteringjs/eslint-config":"0.0.1","acquit":"1.x","acquit-ignore":"0.1.x","eslint":"8.15.0","mocha":"9.2.0","nyc":"15.1.0"},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","gitHead":"db2dcc714f8158e50a81c2b53f47e87a06dd6772","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.4.1","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"shasum":"7d81ec518204a48c1cb16554af126806c3cd82b0","size":19513,"noattachment":false,"key":"/kareem/-/kareem-2.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.4.1.tgz"},"_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"directories":{},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem_2.4.1_1655411449241_0.010922365988482063"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-06-16T20:31:18.968Z","publish_time":1655411449478,"_cnpm_publish_time":1655411449478},"2.4.0":{"name":"kareem","version":"2.4.0","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"mocha ./test/*","test-travis":"nyc mocha ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"1.x","acquit-ignore":"0.1.x","mocha":"9.2.0","nyc":"15.1.0"},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","gitHead":"b7c4fc6437d84a9722592dd6250d9026828515f5","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.4.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"shasum":"e912f779c85f565620ca0a7dfbbbeda894f43061","size":19451,"noattachment":false,"key":"/kareem/-/kareem-2.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.4.0.tgz"},"_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"directories":{},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem_2.4.0_1655145742705_0.19774669999232453"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-06-13T18:47:00.353Z","publish_time":1655145742900,"_cnpm_publish_time":1655145742900},"2.3.5":{"name":"kareem","version":"2.3.5","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"mocha ./test/*","test-travis":"nyc mocha ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"1.x","acquit-ignore":"0.1.x","mocha":"9.2.0","nyc":"15.1.0"},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","gitHead":"62df3f75835ad28ecc9c87cab0cb3295115a4f1d","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.3.5","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"shasum":"111fe9dbab754c8ed88b7a2360e2680cec1420ca","size":18621,"noattachment":false,"key":"/kareem/-/kareem-2.3.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.3.5.tgz"},"_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"directories":{},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem_2.3.5_1648042342316_0.8195984264302225"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-03-23T13:33:16.470Z","publish_time":1648042342418,"_cnpm_publish_time":1648042342418},"2.3.4":{"name":"kareem","version":"2.3.4","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"mocha ./test/*","test-travis":"nyc mocha ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"1.x","acquit-ignore":"0.1.x","mocha":"9.2.0","nyc":"15.1.0"},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","gitHead":"558a6e6e73c0430628da8e45c5eb408ae9ce14cb","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.3.4","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"shasum":"b38c436fb4758775d919b2828b4009db59b52694","size":18592,"noattachment":false,"key":"/kareem/-/kareem-2.3.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.3.4.tgz"},"_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"directories":{},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem_2.3.4_1644544031748_0.018947982350439485"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-02-11T01:47:19.541Z","publish_time":1644544031946,"_cnpm_publish_time":1644544031946},"2.3.3":{"name":"kareem","version":"2.3.3","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"mocha ./test/*","test-travis":"nyc mocha ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"1.x","acquit-ignore":"0.1.x","nyc":"11.x","mocha":"5.x"},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","gitHead":"67bb3512893e830e4beba3fcd7757a5a39fc2eeb","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.3.3","_nodeVersion":"14.4.0","_npmVersion":"7.18.1","dist":{"shasum":"a4432d7965a5bb06fc2b4eeae71317344c9a756a","size":18451,"noattachment":false,"key":"/kareem/-/kareem-2.3.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.3.3.tgz"},"_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"directories":{},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem_2.3.3_1640537763967_0.32988942680441435"},"_hasShrinkwrap":false,"publish_time":1640537764138,"_cnpm_publish_time":1640537764138},"2.3.2":{"name":"kareem","version":"2.3.2","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"mocha ./test/*","test-travis":"nyc mocha ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"1.x","acquit-ignore":"0.1.x","nyc":"11.x","mocha":"5.x"},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","gitHead":"bb76ae1050de78f6aca8547174f0c7bddf8b379e","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.3.2","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"shasum":"78c4508894985b8d38a0dc15e1a8e11078f2ca93","size":18545,"noattachment":false,"key":"/kareem/-/kareem-2.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.3.2.tgz"},"_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"directories":{},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem_2.3.2_1607442213504_0.5515351138768962"},"_hasShrinkwrap":false,"publish_time":1607442213667,"_cnpm_publish_time":1607442213667},"2.3.1":{"name":"kareem","version":"2.3.1","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"mocha ./test/*","test-travis":"nyc mocha ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"nyc":"11.x","mocha":"5.x","standard-version":"4.4.0"},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","gitHead":"4f3524b9e9ac15c2bb74f30d47d1294ce7d58ba7","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.3.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"def12d9c941017fabfb00f873af95e9c99e1be87","size":16965,"noattachment":false,"key":"/kareem/-/kareem-2.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.3.1.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem_2.3.1_1566531875983_0.7788997997884188"},"_hasShrinkwrap":false,"publish_time":1566531876096,"_cnpm_publish_time":1566531876096},"2.3.0":{"name":"kareem","version":"2.3.0","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.5.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0","standard-version":"4.4.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","gitHead":"1beb350e429b650154ced5f604de8a1cdf153e3c","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.3.0","_npmVersion":"6.2.0","_nodeVersion":"8.9.4","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"ef33c42e9024dce511eeaf440cd684f3af1fc769","size":16950,"noattachment":false,"key":"/kareem/-/kareem-2.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.3.0.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem_2.3.0_1537801791037_0.8873303612707288"},"_hasShrinkwrap":false,"publish_time":1537801791274,"_cnpm_publish_time":1537801791274},"2.2.3":{"name":"kareem","version":"2.2.3","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.5.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","gitHead":"af653a3021faa796b5cbcb98332588721e683ed4","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.2.3","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"c70cb558bcf5682d812dfcdd7414f37dcc31fa1c","size":12178,"noattachment":false,"key":"/kareem/-/kareem-2.2.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.2.3.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem_2.2.3_1536542324482_0.512030496187547"},"_hasShrinkwrap":false,"publish_time":1536542324563,"_cnpm_publish_time":1536542324563},"2.2.2":{"name":"kareem","version":"2.2.2","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.5.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","gitHead":"3f0144d9aa8dd81f46c58c96ae9e3deb372c18a1","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.2.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"407219b1f6bf68b0bc4e2a8dd9fc320c31d388f6","size":12180,"noattachment":false,"key":"/kareem/-/kareem-2.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.2.2.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem_2.2.2_1536542136087_0.8527113434836049"},"_hasShrinkwrap":false,"publish_time":1536542136236,"_cnpm_publish_time":1536542136236},"2.2.1":{"name":"kareem","version":"2.2.1","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.5.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","gitHead":"4625a64c63476ae4736cc7eda58144291e04c6e1","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.2.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"9950809415aa3cde62ab43b4f7b919d99816e015","size":12150,"noattachment":false,"key":"/kareem/-/kareem-2.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.2.1.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem_2.2.1_1528209175587_0.9179273159628647"},"_hasShrinkwrap":false,"publish_time":1528209175701,"_cnpm_publish_time":1528209175701},"2.2.0":{"name":"kareem","version":"2.2.0","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.5.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","gitHead":"ff9ad039ac7c5aea1d8e8750cb4a0b3dbe50675b","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.2.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"395e9f978f3f3badccbb0808d6941449baef6b24","size":12082,"noattachment":false,"key":"/kareem/-/kareem-2.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.2.0.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem_2.2.0_1528207911450_0.7257699893853564"},"_hasShrinkwrap":false,"publish_time":1528207911551,"_cnpm_publish_time":1528207911551},"2.1.0":{"name":"kareem","version":"2.1.0","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.5.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","gitHead":"ba5f1bc7ab85a0743fd5d7d358564f9a9cced50b","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.1.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"d63197b57311830e4ceb3f34431f22f2de826a03","size":11851,"noattachment":false,"key":"/kareem/-/kareem-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.1.0.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem_2.1.0_1526484798435_0.4570851554332196"},"_hasShrinkwrap":false,"publish_time":1526484798816,"_cnpm_publish_time":1526484798816},"2.0.7":{"name":"kareem","version":"2.0.7","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.5.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","gitHead":"0bf91e67ece2d244015257b721a50aeaee85e0ef","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.0.7","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"8d260366a4df4236ceccec318fcf10c17c5beb22","size":11706,"noattachment":false,"key":"/kareem/-/kareem-2.0.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.0.7.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem_2.0.7_1524936360080_0.8895631180596701"},"_hasShrinkwrap":false,"publish_time":1524936360148,"_cnpm_publish_time":1524936360148},"2.0.6":{"name":"kareem","version":"2.0.6","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.5.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","gitHead":"f3d406b8b0c81ab0dd7052973d21ab59f5c42059","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.0.6","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"011ed59fd718bb147c63141a799fc888cd5a211b","size":11689,"noattachment":false,"key":"/kareem/-/kareem-2.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.0.6.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem_2.0.6_1521738355197_0.45288650143164677"},"_hasShrinkwrap":false,"publish_time":1521738355288,"_cnpm_publish_time":1521738355288},"2.0.5":{"name":"kareem","version":"2.0.5","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.5.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","gitHead":"3286612dd64cf0102683a676b2cf729522b2b8b7","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.0.5","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"437e1e40f1be304ee21b3e4790eb3a05418b35ca","size":11674,"noattachment":false,"key":"/kareem/-/kareem-2.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.0.5.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem_2.0.5_1519342006574_0.09182150746860507"},"_hasShrinkwrap":false,"publish_time":1519342006645,"_cnpm_publish_time":1519342006645},"2.0.4":{"name":"kareem","version":"2.0.4","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.5.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","gitHead":"2ab02939287f8fe96d2fa1894fb79c20ceff66dc","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.0.4","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"8e648733c1e45b7d5ca1cf36c364e2787f895ced","size":11611,"noattachment":false,"key":"/kareem/-/kareem-2.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.0.4.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem_2.0.4_1518114058557_0.5677702472839816"},"_hasShrinkwrap":false,"publish_time":1518114058622,"_cnpm_publish_time":1518114058622},"2.0.3":{"name":"kareem","version":"2.0.3","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.5.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","gitHead":"3c1abe5c9edba71d140d662724980e76214daa2e","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.0.3","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"d05c7ad76b045bc50c197b2cd13d2d1ef5671070","size":11606,"noattachment":false,"key":"/kareem/-/kareem-2.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.0.3.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem-2.0.3.tgz_1517457302688_0.06510809995234013"},"directories":{},"publish_time":1517457302774,"_hasShrinkwrap":false,"_cnpm_publish_time":1517457302774},"2.0.2":{"name":"kareem","version":"2.0.2","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.5.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache-2.0","gitHead":"fe87ab6fc538e0e3f61bdd4de601bd635d850b2d","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.0.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"fefa6228859beb67f75ab4962869a8d1b0b2dda2","size":11607,"noattachment":false,"key":"/kareem/-/kareem-2.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.0.2.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem-2.0.2.tgz_1516754539167_0.18886751728132367"},"directories":{},"publish_time":1516754539283,"_hasShrinkwrap":false,"_cnpm_publish_time":1516754539283},"2.0.1":{"name":"kareem","version":"2.0.1","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.5.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"09c44fbe1f1b4df955e1866e2973430fd301e951","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.0.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"f17f77e9032f64aa402b334f91fb4407fe4c042c","size":11599,"noattachment":false,"key":"/kareem/-/kareem-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.0.1.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem-2.0.1.tgz_1515528415072_0.1404436870943755"},"directories":{},"publish_time":1515528415203,"_hasShrinkwrap":false,"_cnpm_publish_time":1515528415203},"2.0.0":{"name":"kareem","version":"2.0.0","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.5.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"f511d1cbdaae4b3b407307d1f7ef2e8b0016e490","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"111b0c84db99a6d959794544b757734c978c77bf","size":11599,"noattachment":false,"key":"/kareem/-/kareem-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.0.0.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem-2.0.0.tgz_1515528365118_0.2759398629423231"},"directories":{},"publish_time":1515528365209,"_hasShrinkwrap":false,"_cnpm_publish_time":1515528365209},"2.0.0-rc5":{"name":"kareem","version":"2.0.0-rc5","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.4.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"25a32ee6a973a966aa6dfc6befe98055b40d9e91","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.0.0-rc5","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"9899c745f65f97559c26288cf269a9f30823af86","size":12891,"noattachment":false,"key":"/kareem/-/kareem-2.0.0-rc5.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.0.0-rc5.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem-2.0.0-rc5.tgz_1514042563766_0.8245733217336237"},"directories":{},"publish_time":1514042563975,"_hasShrinkwrap":false,"_cnpm_publish_time":1514042563975},"2.0.0-rc4":{"name":"kareem","version":"2.0.0-rc4","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.4.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"49fc08392f688bc307e9fbbdc8ed0fac19929f4a","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.0.0-rc4","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"caab657cea91b205bccb7f9e66883905f6ea1b73","size":12887,"noattachment":false,"key":"/kareem/-/kareem-2.0.0-rc4.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.0.0-rc4.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem-2.0.0-rc4.tgz_1513999872593_0.7897973891813308"},"directories":{},"publish_time":1513999873623,"_hasShrinkwrap":false,"_cnpm_publish_time":1513999873623},"2.0.0-rc2":{"name":"kareem","version":"2.0.0-rc2","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.4.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"76325fad0a6213acdb064eb723da7f2ead20b4d8","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.0.0-rc2","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"2eb5e450f365474065fe72d06aa81533a123f4f1","size":12417,"noattachment":false,"key":"/kareem/-/kareem-2.0.0-rc2.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.0.0-rc2.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem-2.0.0-rc2.tgz_1513898355110_0.1897158450447023"},"directories":{},"publish_time":1513898355288,"_hasShrinkwrap":false,"_cnpm_publish_time":1513898355288},"2.0.0-rc1":{"name":"kareem","version":"2.0.0-rc1","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.4.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"9b83f5267cf60b2f928c7b05b142c251e1a20022","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.0.0-rc1","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"d1b687f48ac8bf87976f5d894d791f3b5dac2abd","size":12318,"noattachment":false,"key":"/kareem/-/kareem-2.0.0-rc1.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.0.0-rc1.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem-2.0.0-rc1.tgz_1513873752537_0.44321278925053775"},"directories":{},"publish_time":1513873752636,"_hasShrinkwrap":false,"_cnpm_publish_time":1513873752636},"2.0.0-rc0":{"name":"kareem","version":"2.0.0-rc0","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.4.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"16b44b56cf3f118b0fcaa74bd43d014640d72921","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@2.0.0-rc0","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"5eb4fb7e8809e58a8ff55618fca151f725fe29cf","size":11891,"noattachment":false,"key":"/kareem/-/kareem-2.0.0-rc0.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-2.0.0-rc0.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem-2.0.0-rc0.tgz_1513562915921_0.599687461508438"},"directories":{},"publish_time":1513562916075,"_hasShrinkwrap":false,"_cnpm_publish_time":1513562916075},"1.5.0":{"name":"kareem","version":"1.5.0","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.4.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"9c491a058fd54832702716522c28fde02ec67661","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@1.5.0","_shasum":"e3e4101d9dcfde299769daf4b4db64d895d17448","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.6.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"e3e4101d9dcfde299769daf4b4db64d895d17448","size":11912,"noattachment":false,"key":"/kareem/-/kareem-1.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-1.5.0.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem-1.5.0.tgz_1500589912217_0.3416421019937843"},"directories":{},"publish_time":1500589912404,"_hasShrinkwrap":false,"_cnpm_publish_time":1500589912404},"1.4.2":{"name":"kareem","version":"1.4.2","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.4.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"8d14ac565e27f5e5c1725549d404b33e193707e0","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@1.4.2","_shasum":"3b4af5dbfaf3ac1c08b8e5518fdd81ba90c2ab72","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.6.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"3b4af5dbfaf3ac1c08b8e5518fdd81ba90c2ab72","size":11947,"noattachment":false,"key":"/kareem/-/kareem-1.4.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-1.4.2.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kareem-1.4.2.tgz_1499302018094_0.9448814014904201"},"directories":{},"publish_time":1499302018381,"_cnpm_publish_time":1499302018381,"_hasShrinkwrap":false},"1.4.1":{"name":"kareem","version":"1.4.1","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.4.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"5ecf0c29012c9cd880f47ed50fff6d04d703fe2f","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@1.4.1","_shasum":"ed76200044fa041ef32b4da8261e2553f1173531","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.6.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"ed76200044fa041ef32b4da8261e2553f1173531","size":11935,"noattachment":false,"key":"/kareem/-/kareem-1.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-1.4.1.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/kareem-1.4.1.tgz_1493088673845_0.8512433124706149"},"directories":{},"publish_time":1493088675616,"_hasShrinkwrap":false,"_cnpm_publish_time":1493088675616},"1.4.0":{"name":"kareem","version":"1.4.0","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.4.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"101c5f58597c6799289b943114179d1a12288215","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@1.4.0","_shasum":"640285bc0174f10d4bf2127bb30e861bc0372c1c","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"640285bc0174f10d4bf2127bb30e861bc0372c1c","size":11813,"noattachment":false,"key":"/kareem/-/kareem-1.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-1.4.0.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/kareem-1.4.0.tgz_1492578564366_0.6139681548811495"},"directories":{},"publish_time":1492578564685,"_hasShrinkwrap":false,"_cnpm_publish_time":1492578564685},"1.3.0":{"name":"kareem","version":"1.3.0","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.4.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"f3a9e5016fa1dc2475d6524e8247612136f84a11","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@1.3.0","_shasum":"a042b6fb7ca5119b6f9e71806feb6af574f23dcd","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.6.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"a042b6fb7ca5119b6f9e71806feb6af574f23dcd","size":11637,"noattachment":false,"key":"/kareem/-/kareem-1.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-1.3.0.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/kareem-1.3.0.tgz_1490569620713_0.2177602348383516"},"directories":{},"publish_time":1490569622684,"_hasShrinkwrap":false,"_cnpm_publish_time":1490569622684},"1.2.1":{"name":"kareem","version":"1.2.1","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.4.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"d97081ff19fb1f474a8edacb6efe906929c158d7","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@1.2.1","_shasum":"acdb8c8119845834abbfa58ade1cf9dea63dc752","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"acdb8c8119845834abbfa58ade1cf9dea63dc752","size":11579,"noattachment":false,"key":"/kareem/-/kareem-1.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-1.2.1.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/kareem-1.2.1.tgz_1486146319311_0.5150460600852966"},"directories":{},"publish_time":1486146321133,"_cnpm_publish_time":1486146321133,"_hasShrinkwrap":false},"1.2.0":{"name":"kareem","version":"1.2.0","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.4.1","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.4.5","jscs":"1.9.0","mocha":"3.2.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"033225c0111d0ddba3134c7719e7591dbea3c582","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@1.2.0","_shasum":"59851e833feb1ce6cf60000e0c23acf75c8a3547","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"59851e833feb1ce6cf60000e0c23acf75c8a3547","size":11501,"noattachment":false,"key":"/kareem/-/kareem-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-1.2.0.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/kareem-1.2.0.tgz_1483333035944_0.11472294060513377"},"directories":{},"publish_time":1483333036183,"_cnpm_publish_time":1483333036183,"_hasShrinkwrap":false},"1.1.5":{"name":"kareem","version":"1.1.5","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.0.3","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.3.5","jscs":"1.9.0","mocha":"2.0.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"1a9f684fe3d555c90846226857bfefa621147356","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@1.1.5","_shasum":"fd5657d5731cc5901c870f3a448105b40ca7de8a","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"fd5657d5731cc5901c870f3a448105b40ca7de8a","size":11446,"noattachment":false,"key":"/kareem/-/kareem-1.1.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-1.1.5.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/kareem-1.1.5.tgz_1481592637764_0.8255026561673731"},"directories":{},"publish_time":1481592637996,"_cnpm_publish_time":1481592637996,"_hasShrinkwrap":false},"1.1.4":{"name":"kareem","version":"1.1.4","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.0.3","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.3.5","jscs":"1.9.0","mocha":"2.0.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"ece401cb31befce60ff2919edbdb635e30c8d9cb","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@1.1.4","_shasum":"292007c64ad5725c7d2045501f3fd424189dbe5f","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"292007c64ad5725c7d2045501f3fd424189dbe5f","size":11441,"noattachment":false,"key":"/kareem/-/kareem-1.1.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-1.1.4.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/kareem-1.1.4.tgz_1481310014455_0.9005114063620567"},"directories":{},"publish_time":1481310016236,"_cnpm_publish_time":1481310016236,"_hasShrinkwrap":false},"1.1.3":{"name":"kareem","version":"1.1.3","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.0.3","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.3.5","jscs":"1.9.0","mocha":"2.0.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"87171c8d0d3743d7f3a5dce2e540314b32980920","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@1.1.3","_shasum":"0877610d8879c38da62d1dbafde4e17f2692f041","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"0877610d8879c38da62d1dbafde4e17f2692f041","size":11402,"noattachment":false,"key":"/kareem/-/kareem-1.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-1.1.3.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/kareem-1.1.3.tgz_1467040511533_0.5054662451148033"},"directories":{},"publish_time":1467040512369,"_cnpm_publish_time":1467040512369,"_hasShrinkwrap":false},"1.1.2":{"name":"kareem","version":"1.1.2","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.0.3","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.3.5","jscs":"1.9.0","mocha":"2.0.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"8e102b630f01857a3bf9f100e6d43e42b8087bdd","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@1.1.2","_shasum":"0b203bb9a3200bb6f27e930e3ee720a235394ee0","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"0b203bb9a3200bb6f27e930e3ee720a235394ee0","size":11321,"noattachment":false,"key":"/kareem/-/kareem-1.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-1.1.2.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/kareem-1.1.2.tgz_1467038241432_0.3813423451501876"},"directories":{},"publish_time":1467038243837,"_cnpm_publish_time":1467038243837,"_hasShrinkwrap":false},"1.1.1":{"name":"kareem","version":"1.1.1","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.0.3","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.3.5","jscs":"1.9.0","mocha":"2.0.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"8bb305050704d8bf07f875d2cfdb733cd4067167","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@1.1.1","_shasum":"b1e4379830cce207dd72909c97c947b96e383ac9","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"b1e4379830cce207dd72909c97c947b96e383ac9","size":11308,"noattachment":false,"key":"/kareem/-/kareem-1.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-1.1.1.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/kareem-1.1.1.tgz_1467036276516_0.370025304146111"},"directories":{},"publish_time":1467036279088,"_cnpm_publish_time":1467036279088,"_hasShrinkwrap":false},"1.1.0":{"name":"kareem","version":"1.1.0","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.0.3","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.3.5","jscs":"1.9.0","mocha":"2.0.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"85332d9a4fb25161a8d6bbb8d3f9c6449d4ea64a","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem#readme","_id":"kareem@1.1.0","_shasum":"dcd322078c8a6e0e9c7c4e2002c7fa233ce00fa2","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"vkarpov15","email":"val@karpov.io"},"dist":{"shasum":"dcd322078c8a6e0e9c7c4e2002c7fa233ce00fa2","size":11250,"noattachment":false,"key":"/kareem/-/kareem-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-1.1.0.tgz"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/kareem-1.1.0.tgz_1462936734145_0.35382826277054846"},"directories":{},"publish_time":1462936736903,"_cnpm_publish_time":1462936736903,"_hasShrinkwrap":false},"1.0.1":{"name":"kareem","version":"1.0.1","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.0.3","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.3.5","jscs":"1.9.0","mocha":"2.0.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"69710887f85dee09afac690df770dd2febde7268","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem","_id":"kareem@1.0.1","_shasum":"7805d215bb53214ec3af969a1d0b1f17e3e7b95c","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"vkarpov15","email":"valkar207@gmail.com"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"dist":{"shasum":"7805d215bb53214ec3af969a1d0b1f17e3e7b95c","size":9756,"noattachment":false,"key":"/kareem/-/kareem-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-1.0.1.tgz"},"directories":{},"publish_time":1431274155642,"_cnpm_publish_time":1431274155642,"_hasShrinkwrap":false},"1.0.0":{"name":"kareem","version":"1.0.0","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.0.3","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.3.5","jscs":"1.9.0","mocha":"2.0.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"4c5a35ac2a34b3d9c90db9fd1007b58ba5b4eec0","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem","_id":"kareem@1.0.0","_shasum":"18b854380b83b10608c710fc951e7910184f67a6","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"vkarpov15","email":"valkar207@gmail.com"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"dist":{"shasum":"18b854380b83b10608c710fc951e7910184f67a6","size":9482,"noattachment":false,"key":"/kareem/-/kareem-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-1.0.0.tgz"},"directories":{},"publish_time":1422478830725,"_cnpm_publish_time":1422478830725,"_hasShrinkwrap":false},"0.0.8":{"name":"kareem","version":"0.0.8","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.0.3","gulp":"3.8.10","gulp-mocha":"2.0.0","gulp-jscs":"1.4.0","istanbul":"0.3.5","jscs":"1.9.0","mocha":"2.0.0"},"jscsConfig":{"preset":"airbnb","requireMultipleVarDecl":null,"disallowMultipleVarDecl":true},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"03c0d2f3de089fd4fdd2d7c2191e45ee2b0cca00","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem","_id":"kareem@0.0.8","_shasum":"0857e573d09e40e6dd39a5d6437ea1c4a9d351a1","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"vkarpov15","email":"valkar207@gmail.com"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"dist":{"shasum":"0857e573d09e40e6dd39a5d6437ea1c4a9d351a1","size":9478,"noattachment":false,"key":"/kareem/-/kareem-0.0.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-0.0.8.tgz"},"directories":{},"publish_time":1422396871482,"_cnpm_publish_time":1422396871482,"_hasShrinkwrap":false},"0.0.7":{"name":"kareem","version":"0.0.7","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.0.3","istanbul":"0.3.5","mocha":"2.0.0"},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","gitHead":"98ef1734cac55f155303905537f953435f5099ff","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem","_id":"kareem@0.0.7","_shasum":"731ca52caaafa852086b9b3db7f5d16989295502","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"vkarpov15","email":"valkar207@gmail.com"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"dist":{"shasum":"731ca52caaafa852086b9b3db7f5d16989295502","size":9081,"noattachment":false,"key":"/kareem/-/kareem-0.0.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-0.0.7.tgz"},"directories":{},"publish_time":1420414483812,"_cnpm_publish_time":1420414483812,"_hasShrinkwrap":false},"0.0.6":{"name":"kareem","version":"0.0.6","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.0.3","istanbul":"0.3.5","mocha":"2.0.0"},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem","_id":"kareem@0.0.6","dist":{"shasum":"702e898970c2de9dcf2a34ec22f458eccb7bab91","size":9082,"noattachment":false,"key":"/kareem/-/kareem-0.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-0.0.6.tgz"},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"vkarpov15","email":"valkar207@gmail.com"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"directories":{},"publish_time":1420140416889,"_cnpm_publish_time":1420140416889,"_hasShrinkwrap":false},"0.0.5":{"name":"kareem","version":"0.0.5","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*","test-travis":"./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R spec ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.0.3","istanbul":"0.3.5","mocha":"2.0.0"},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem","_id":"kareem@0.0.5","dist":{"shasum":"d900360c4857fb29729cb9191d8c44e99eefdc52","size":9083,"noattachment":false,"key":"/kareem/-/kareem-0.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-0.0.5.tgz"},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"vkarpov15","email":"valkar207@gmail.com"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"directories":{},"publish_time":1420140318799,"_cnpm_publish_time":1420140318799,"_hasShrinkwrap":false},"0.0.4":{"name":"kareem","version":"0.0.4","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.0.3","mocha":"2.0.0"},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem","_id":"kareem@0.0.4","dist":{"shasum":"a8475defd74cf829b0071d20e6971bf15d911d2b","size":7314,"noattachment":false,"key":"/kareem/-/kareem-0.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-0.0.4.tgz"},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"vkarpov15","email":"valkar207@gmail.com"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"directories":{},"publish_time":1418501319750,"_cnpm_publish_time":1418501319750,"_hasShrinkwrap":false},"0.0.3":{"name":"kareem","version":"0.0.3","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.0.3","mocha":"2.0.0"},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem","_id":"kareem@0.0.3","dist":{"shasum":"017a5e0b421828701eed2c9ae94b107e845538bc","size":7271,"noattachment":false,"key":"/kareem/-/kareem-0.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-0.0.3.tgz"},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"vkarpov15","email":"valkar207@gmail.com"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"directories":{},"publish_time":1418418125037,"_cnpm_publish_time":1418418125037,"_hasShrinkwrap":false},"0.0.2":{"name":"kareem","version":"0.0.2","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git://github.com/vkarpov15/kareem.git"},"devDependencies":{"acquit":"0.0.3","mocha":"2.0.0"},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","bugs":{"url":"https://github.com/vkarpov15/kareem/issues"},"homepage":"https://github.com/vkarpov15/kareem","_id":"kareem@0.0.2","dist":{"shasum":"aad21a4ed01a2a86bfd8c892a27707778d661439","size":7272,"noattachment":false,"key":"/kareem/-/kareem-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-0.0.2.tgz"},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"vkarpov15","email":"valkar207@gmail.com"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"directories":{},"publish_time":1418360973082,"_cnpm_publish_time":1418360973082,"_hasShrinkwrap":false},"0.0.1":{"name":"kareem","version":"0.0.1","description":"Next-generation take on pre/post function hooks","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"devDependencies":{"acquit":"0.0.3","mocha":"2.0.0"},"author":{"name":"Valeri Karpov","email":"val@karpov.io"},"license":"Apache 2.0","_id":"kareem@0.0.1","dist":{"shasum":"9991dadd22c0c7350b74b44c5bbda3cf56e593a3","size":7232,"noattachment":false,"key":"/kareem/-/kareem-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/kareem/download/kareem-0.0.1.tgz"},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"vkarpov15","email":"valkar207@gmail.com"},"maintainers":[{"name":"vkarpov15","email":"valkar207@gmail.com"}],"directories":{},"publish_time":1418360766930,"_cnpm_publish_time":1418360766930,"_hasShrinkwrap":false}},"readme":"# kareem\n\n  [![Build Status](https://github.com/mongoosejs/kareem/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/mongoosejs/kareem/actions/workflows/test.yml)\n  <!--[![Coverage Status](https://img.shields.io/coveralls/vkarpov15/kareem.svg)](https://coveralls.io/r/vkarpov15/kareem)-->\n\nRe-imagined take on the [hooks](http://npmjs.org/package/hooks) module, meant to offer additional flexibility in allowing you to execute hooks whenever necessary, as opposed to simply wrapping a single function.\n\nNamed for the NBA's 2nd all-time leading scorer Kareem Abdul-Jabbar, known for his mastery of the [hook shot](http://en.wikipedia.org/wiki/Kareem_Abdul-Jabbar#Skyhook)\n\n<img src=\"http://upload.wikimedia.org/wikipedia/commons/0/00/Kareem-Abdul-Jabbar_Lipofsky.jpg\" width=\"220\">\n\n<!--DOCS START-->\n\n# API\n\n## pre hooks\n\nMuch like [hooks](https://npmjs.org/package/hooks), kareem lets you define\npre and post hooks: pre hooks are called before a given function executes.\nUnlike hooks, kareem stores hooks and other internal state in a separate\nobject, rather than relying on inheritance. Furthermore, kareem exposes\nan `execPre()` function that allows you to execute your pre hooks when\nappropriate, giving you more fine-grained control over your function hooks.\n\n### It runs without any hooks specified\n\n```javascript\nawait hooks.execPre('cook', null);\n```\n\n### It runs basic serial pre hooks\n\npre hook functions can return a promise that resolves when finished.\n\n```javascript\nlet count = 0;\n\nhooks.pre('cook', function() {\n  ++count;\n  return Promise.resolve();\n});\n\nawait hooks.execPre('cook', null);\nassert.equal(1, count);\n```\n\n### It can run multiple pre hooks\n\n```javascript\nlet count1 = 0;\nlet count2 = 0;\n\nhooks.pre('cook', function() {\n  ++count1;\n  return Promise.resolve();\n});\n\nhooks.pre('cook', function() {\n  ++count2;\n  return Promise.resolve();\n});\n\nawait hooks.execPre('cook', null);\nassert.equal(1, count1);\nassert.equal(1, count2);\n```\n\n### It can run fully synchronous pre hooks\n\nIf your pre hook function takes no parameters, its assumed to be\nfully synchronous.\n\n```javascript\nlet count1 = 0;\nlet count2 = 0;\n\nhooks.pre('cook', function() {\n  ++count1;\n});\n\nhooks.pre('cook', function() {\n  ++count2;\n});\n\nawait hooks.execPre('cook', null);\nassert.equal(1, count1);\nassert.equal(1, count2);\n```\n\n### It properly attaches context to pre hooks\n\nPre save hook functions are bound to the second parameter to `execPre()`\n\n```javascript\nhooks.pre('cook', function() {\n  this.bacon = 3;\n});\n\nhooks.pre('cook', function() {\n  this.eggs = 4;\n});\n\nconst obj = { bacon: 0, eggs: 0 };\n\n// In the pre hooks, `this` will refer to `obj`\nawait hooks.execPre('cook', obj);\nassert.equal(3, obj.bacon);\nassert.equal(4, obj.eggs);\n```\n\n### It supports returning a promise\n\nYou can also return a promise from your pre hooks instead of calling\n`next()`. When the returned promise resolves, kareem will kick off the\nnext middleware.\n\n```javascript\nhooks.pre('cook', function() {\n  return new Promise(resolve => {\n    setTimeout(() => {\n      this.bacon = 3;\n      resolve();\n    }, 100);\n  });\n});\n\nconst obj = { bacon: 0 };\n\nawait hooks.execPre('cook', obj);\nassert.equal(3, obj.bacon);\n```\n\n### It supports filtering which hooks to run\n\nYou can pass a `filter` option to `execPre()` to select which hooks\nto run. The filter function receives each hook object and should return\n`true` to run the hook or `false` to skip it.\n\n```javascript\nconst execed = [];\n\nconst fn1 = function() { execed.push('first'); };\nfn1.skipMe = true;\nhooks.pre('cook', fn1);\n\nconst fn2 = function() { execed.push('second'); };\nhooks.pre('cook', fn2);\n\n// Only runs fn2, skips fn1 because fn1.skipMe is true\nawait hooks.execPre('cook', null, [], {\n  filter: hook => !hook.fn.skipMe\n});\n\nassert.deepStrictEqual(execed, ['second']);\n```\n\n## post hooks\n\n### It runs without any hooks specified\n\n```javascript\nconst [eggs] = await hooks.execPost('cook', null, [1]);\nassert.equal(eggs, 1);\n```\n\n### It executes with parameters passed in\n\n```javascript\nhooks.post('cook', function(eggs, bacon, callback) {\n  assert.equal(eggs, 1);\n  assert.equal(bacon, 2);\n  callback();\n});\n\nconst [eggs, bacon] = await hooks.execPost('cook', null, [1, 2]);\nassert.equal(eggs, 1);\nassert.equal(bacon, 2);\n```\n\n### It can use synchronous post hooks\n\n```javascript\nconst execed = {};\n\nhooks.post('cook', function(eggs, bacon) {\n  execed.first = true;\n  assert.equal(eggs, 1);\n  assert.equal(bacon, 2);\n});\n\nhooks.post('cook', function(eggs, bacon, callback) {\n  execed.second = true;\n  assert.equal(eggs, 1);\n  assert.equal(bacon, 2);\n  callback();\n});\n\nconst [eggs, bacon] = await hooks.execPost('cook', null, [1, 2]);\nassert.equal(Object.keys(execed).length, 2);\nassert.ok(execed.first);\nassert.ok(execed.second);\nassert.equal(eggs, 1);\nassert.equal(bacon, 2);\n```\n\n### It supports returning a promise\n\nYou can also return a promise from your post hooks instead of calling\n`next()`. When the returned promise resolves, kareem will kick off the\nnext middleware.\n\n```javascript\nhooks.post('cook', function() {\n  return new Promise(resolve => {\n    setTimeout(() => {\n      this.bacon = 3;\n      resolve();\n    }, 100);\n  });\n});\n\nconst obj = { bacon: 0 };\n\nawait hooks.execPost('cook', obj, [obj]);\nassert.equal(obj.bacon, 3);\n```\n\n### It supports filtering which hooks to run\n\nYou can pass a `filter` option to `execPost()` to select which hooks\nto run. The filter function receives each hook object and should return\n`true` to run the hook or `false` to skip it.\n\n```javascript\nconst execed = [];\n\nconst fn1 = function() { execed.push('first'); };\nfn1.skipMe = true;\nhooks.post('cook', fn1);\n\nconst fn2 = function() { execed.push('second'); };\nhooks.post('cook', fn2);\n\n// Only runs fn2, skips fn1 because fn1.skipMe is true\nawait hooks.execPost('cook', null, [], {\n  filter: hook => !hook.fn.skipMe\n});\n\nassert.deepStrictEqual(execed, ['second']);\n```\n\n## wrap()\n\n### It wraps pre and post calls into one call\n\n```javascript\nhooks.pre('cook', function() {\n  return new Promise(resolve => {\n    this.bacon = 3;\n    setTimeout(() => {\n      resolve();\n    }, 5);\n  });\n});\n\nhooks.pre('cook', function() {\n  this.eggs = 4;\n  return Promise.resolve();\n});\n\nhooks.pre('cook', function() {\n  this.waffles = false;\n  return Promise.resolve();\n});\n\nhooks.post('cook', function(obj) {\n  obj.tofu = 'no';\n});\n\nconst obj = { bacon: 0, eggs: 0 };\n\nconst args = [obj];\n\nconst result = await hooks.wrap(\n  'cook',\n  function(o) {\n    assert.equal(obj.bacon, 3);\n    assert.equal(obj.eggs, 4);\n    assert.equal(obj.waffles, false);\n    assert.equal(obj.tofu, undefined);\n    return o;\n  },\n  obj,\n  args);\n\nassert.equal(obj.bacon, 3);\nassert.equal(obj.eggs, 4);\nassert.equal(obj.waffles, false);\nassert.equal(obj.tofu, 'no');\nassert.equal(result, obj);\n```\n\n## createWrapper()\n\n### It wraps wrap() into a callable function\n\n```javascript\nhooks.pre('cook', function() {\n  this.bacon = 3;\n  return Promise.resolve();\n});\n\nhooks.pre('cook', function() {\n  return new Promise(resolve => {\n    this.eggs = 4;\n    setTimeout(function() {\n      resolve();\n    }, 10);\n  });\n});\n\nhooks.pre('cook', function() {\n  this.waffles = false;\n  return Promise.resolve();\n});\n\nhooks.post('cook', function(obj) {\n  obj.tofu = 'no';\n});\n\nconst obj = { bacon: 0, eggs: 0 };\n\nconst cook = hooks.createWrapper(\n  'cook',\n  function(o) {\n    assert.equal(3, obj.bacon);\n    assert.equal(4, obj.eggs);\n    assert.equal(false, obj.waffles);\n    assert.equal(undefined, obj.tofu);\n    return o;\n  },\n  obj);\n\nconst result = await cook(obj);\nassert.equal(obj.bacon, 3);\nassert.equal(obj.eggs, 4);\nassert.equal(obj.waffles, false);\nassert.equal(obj.tofu, 'no');\n\nassert.equal(result, obj);\n```\n\n## clone()\n\n### It clones a Kareem object\n\n```javascript\nconst k1 = new Kareem();\nk1.pre('cook', function() {});\nk1.post('cook', function() {});\n\nconst k2 = k1.clone();\nassert.deepEqual(Array.from(k2._pres.keys()), ['cook']);\nassert.deepEqual(Array.from(k2._posts.keys()), ['cook']);\n```\n\n## merge()\n\n### It pulls hooks from another Kareem object\n\n```javascript\nconst k1 = new Kareem();\nconst test1 = function() {};\nk1.pre('cook', test1);\nk1.post('cook', function() {});\n\nconst k2 = new Kareem();\nconst test2 = function() {};\nk2.pre('cook', test2);\nconst k3 = k2.merge(k1);\nassert.equal(k3._pres.get('cook').length, 2);\nassert.equal(k3._pres.get('cook')[0].fn, test2);\nassert.equal(k3._pres.get('cook')[1].fn, test1);\nassert.equal(k3._posts.get('cook').length, 1);\n```\n","_attachments":{},"homepage":"https://github.com/mongoosejs/kareem#readme","bugs":{"url":"https://github.com/mongoosejs/kareem/issues"},"license":"Apache-2.0"}