{"_id":"fun-hooks","_rev":"43-bd942493cce95a1120892c43b3e62e3d","name":"fun-hooks","dist-tags":{"latest":"1.1.0"},"versions":{"0.0.1":{"name":"fun-hooks","version":"0.0.1","author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.0.1","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"dist":{"shasum":"4cab6a2e2cdd2ee4fea591feb0798c645d44966e","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.0.1.tgz","fileCount":7,"integrity":"sha512-v925o/pKJ3QAW+X9XWG4oLeKUF4q7oIiaHL3+txiKHYvK+238tyfFK4UzQpd9+Qx+6AnHDMa1UmfUNgwDf4fiw==","signatures":[{"sig":"MEQCIDey6oCU3icd9+k5Z5ktWY5rHwbcdNfvf+7JkcXEuqyKAiBEnvx8RBUIBCVgNQTWCnaVLLmbIuKIeguZDeu8CmHHfA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34274,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEs4dCRA9TVsSAnZWagAAxwEP/3PWkAEhcwMDSwimwKl0\nLbE2DsXt52q+QpI8UJYMg8ZhPrCOoDynRFwPN7eMcuR+kwIcL3N7DCR2ownZ\nelnhJHm3V0Sai5W9Ky0XhD/BeJBsmdESSSGCIDFunr3GJuEaqGr9L9MpDy/f\n/751DkPf7LkqZTCY+ZfzctQfEclncNDgz8Xiry6Gez5sfYprThSAGDgTP6Sp\nz2BjNumKxNgPxOWGp5dySRVHnE9M7G6Zo+/mMMk7Ko3bXvMUJUt07WDaaYUP\nNfVO1D1Ra1iLlg9+KHRxh9uTpGTcTQiHnmIHRxNHEGV0TXCH1X4KoLYjOEMN\nfZCdO1SGy/IzbELxj3elkbxoF4MctgrGBH4vzo7HQS2ah9+SyAZuflnR4615\nUBcAOtPllC3gYqveK9Y6vIJ7BsYSEucXDlKPoMa21OSMwTf94gvBGfLCIZv+\ngAy4IVRMchW/cE53UI1EainqfY3FEY/n8AnVCYhi1QhcZ/MhBbSVCoEhXWXT\n5XCGQ0LOBug3gqQU0a0V7ZoEzQJVq9nGT9Ciwta7pf3UNByPTTSrHpYFpqce\nMPTt36yvvU6zI1AXXRVkXvDbBg82LJkqfMXzL3AH+rMKR4t24NNGTSHn4aoH\nhm0PCZwohde9mEi8l60tXLt7Fo1mK8TPObilKSL93jgPyo+qKeoQx/nvv6Be\n8G4/\r\n=Z1Tf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"6c13aeb6f98a019eb88754d127b8fedcdadc4642","scripts":{"test":"jest","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","babel-preset-env":"^1.7.0"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.0.1_1544736284556_0.7997552884574288","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"fun-hooks","version":"0.0.2","author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.0.2","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"db89b45639250a9c71aad9f3faa6d052dc5f2017","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.0.2.tgz","fileCount":7,"integrity":"sha512-nkhpOrD4AvnfjJcOlVGK4Yc5uKgxPzdIN8Y/Wu1trFQoPWQHH9RCebWKLi9HpoAG8NLtH8PTYcAArlZqupmOyA==","signatures":[{"sig":"MEYCIQC43kqdjjEQmPtnIjYyfDaFcMm0qvT4otRq+vkp2zNDtgIhAOUSEHRXLnqMVqfvd6KhcNwM9TudiaS9oF7i0piobmQp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34360,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEs8cCRA9TVsSAnZWagAAsjIP/Rl1ImvnIxwN3QO2Kfcf\nrlGOGKPDNgOJkP8bIAg845VUEJi5gEXgRgWT77OBHzkYba4jASCTFmSdO6yG\n7GkFmguyNnTqJCvACPVWhphf9TihhMDJ5q1ooIbrSXTqB5/qi+Tsx+wqIgwY\nwNRDSN6t0qoak9Q+jVVcQX+FQDahPuaubO6DZWOZSpKYi9ILIRTqxw77oLcX\nWYUf3HMaXjTUHdvPv6SMKZyx2gSBehNMynq/GmDDIlpNRcuCJxXffP2+TWIs\n8rGsAPBZAgdAIhMsKBONq3SnFTT3otJvHvAxMt8E6MTsYgNqhn2vTQSpZcJS\np2AuOAAdt0LLR8DTtBcvFH5uITIC9V0Y7WFzdodT2JpoK8l4AKRasgWtWcTc\nlaWMQUu6cWQzxz1w9afUUead2FiVBuk8LJcxcT6FbW/AABIm9jgUOt3R+CEj\n/sxMpprVJbUq8KfIZ1V1w4oiEFebnyXyY9G4dHafoGXVMkZCUjpgIYj/IJ2a\nRa8UdEUXY65yoNCo7oSumqwop3MvufTc5k3qYcNe9upcNiDc7Mg8zDfUHmgr\nTsM95YJKsqGiNIW6kyfqEurTLkozEBSOgX3MKqMnTbTtS23cXndrnC5A+fbV\nxlkU0BjTL6g+IZvyWBTgPZaZPf6A9t59tIjk4tdXFv5rr/LnE5RP8+4WuLk7\nyE0a\r\n=z2BF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"be370f8a24b2a72da22c0d1db692fa9b34385bdd","scripts":{"test":"jest","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","babel-preset-env":"^1.7.0"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.0.2_1544736539626_0.8719328483703066","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"fun-hooks","version":"0.0.3","keywords":["hooks","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.0.3","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"05d51fe5bc005c8514b5a667a189b00e204f8f4d","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.0.3.tgz","fileCount":7,"integrity":"sha512-wjGEA4OdfetpjjxlTIlJ+rvUyDMouYUIPaN+fE8ZPZvXp0PcDjD238J9noAsOqL29zsvI7To9dPn4hdt4Sa6cg==","signatures":[{"sig":"MEUCIQDfoCkxjoACCPg1FdD4C0D6+EVoakAQKUoszXO9mTSINQIgO8czDsulwO+JgxDogVn/QKva8jM+CvTMbtpr9XvmXYU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34473,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEtSTCRA9TVsSAnZWagAAU9QP/36yk9p0qGFww7ohyLr/\n5WTg9Bj6NXIvoibX84O+veulGT9yRgquAjR9YIZbju/L4ugeBcy8UWMn4Roj\nV786H40cSrHck+Rkwu9sQ7GziFF29YCe7fwiO3TiUVje4kR76QbZ/8TU+4m1\nEcScu6cXT/r5FS9/0T2e6UWu4GVI7LMz/7U8+tr1UX0/pGDdmv0mSzH29BdW\nhIvs0E3Dyi3JkD9ZUkl9QmasTVeXCO3K7wbEmVnVUV/xA0X56ETzR6niCDXr\nu2wWY0LCMo33zvTQz/eZ8umoIuSpIbNV5a7mbQCFNBVeww6Sud69JbtjA+LH\nDx/16UUE1TBVPIfgT3BRfuv2Q2ISsIaDXdw5cc+q+ahV8lCpxjBdrgXbeOsD\n13zu/8g1da1n+oAY76wy0iGATqvl2jrwOOTqMBxCBOO5l44Isl4ZxB+8yc6H\n4wwhSCbsHBn9EP2E5/s3AgMMgKsOZzAIDEw/I0B36N1p0I08K1hP0ImZa+/3\nULe1hxeovgcK8WJID9oublXxGBx5eZNkjQe4zHnHNEt2opM+Fy49UIWE/ZJF\nX67nF0C17EuZF8+3Y2+5BjpXjTUPWVMGfDwfOGD/bzfINJuECrqBDBqtPX/i\nMjtEfGzcFgwcJW7+e2/cii5fIt/ddV1ZLIl/mZ5g7WVhtiVUzTKAeJNDfXEH\nHp6f\r\n=cjs5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"eaa10e29ef5a4d879cae7275f00b7e9a0b2ef517","scripts":{"test":"jest","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","babel-preset-env":"^1.7.0"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.0.3_1544737938603_0.6909072699296999","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"fun-hooks","version":"0.0.4","keywords":["hooks","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.0.4","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"cc9449c3a737a674219eeba0419761b2cf6b0a58","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.0.4.tgz","fileCount":8,"integrity":"sha512-2cukgrPVEjiNoORgLGXw0XI+S98D22mTMaSyqpX/fMPQgaTbYkmX2hEXGiEJDFv6y2nb5AK+Sz8AC0+wfvRmMg==","signatures":[{"sig":"MEUCIQCMnX3hx2hGYtzixFfhGmHHo2JxM1c3AKsAQEx/Ty8f2wIgKS4f4lmsbc23HMbUqGQGRaDLOop5e/frJfXKVShCc/A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":35262,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcG9aGCRA9TVsSAnZWagAAVycP/iIilX17pnVtdhxYvGRX\nCRg4B7s7f1ifg7dfb9H5N/wfSKbycqAnzwp9TBSSHUsLHHGCm2ac3VkbpfIe\niBcTaOyvzvc5PyZcW/YD8gVEsXwXaNZ7c8UthonWDl6FwctNRWoFXonLfqJQ\nJTDBtrfIkBCSkvEW2E747tCyPwY/XOVpuucWDBls6ueP0wNAeaIA6Zvnxme/\nbw8FJbt1BPIb3GPG0eWKMWMe6L1SNnCu5aJlLnnAATY/gOKL8Xca3FtP/NlZ\nAI3XR3ZtZMmWbi2byMCYX2zJLiGFEAPI4rQwQHcOus7nQLWK1qNWZZhXxyr6\neg98Ysgm9pQ04xUb7kQUa58mIQ6oa7kUG43p8Lh3xgspQ7OmAS3THFqecoGd\nLfLeor5+aLfs5/okvm4NkoH/C75DFgPBHq5N6cXUqJgNvD1nXFooYre3sluV\nipywNrnBEA39Jg+PkaQNTW2/wm0WPJRtZtOryOKvE2HIEYJVyHRt+fY6GPCF\neh3+hQyaxKsF7E9x3ikgF/HkEEO43/mHhcQafaxiSGiNVf+f4ImNda3a9V30\nJ6rFBggnxLg6FfkuzFPlaRmqOIbi9S7FEcTYrJNpztbMExAKF7yaT1t/yk6a\nL1FO8b+nh2aylz58pvIbqIZXBJi2PxaS7tJdtqUeSF218KNs2UkVo+pA3nPp\nz0p5\r\n=Ly5f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"60c3e01e47186250a136d181826a7d17e22ddb54","scripts":{"lint":"eslint *.js","test":"jest","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.5.0","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.10.0","babel-preset-env":"^1.7.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-import":"^2.14.0"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.0.4_1545328261450_0.40454147910887905","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"fun-hooks","version":"0.1.0","keywords":["hooks","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.1.0","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"eb57114f3714073c2fe1e86dabf62b1b17f3a8cc","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.1.0.tgz","fileCount":8,"integrity":"sha512-i1rNT/3sjPwHzv0GzN3mtKDDZE6dWIqM+/jgt0b2MCO477DLgjKcr6tZ4IETnY7H8UCiG3zjwAt0lBsR+9nbbA==","signatures":[{"sig":"MEUCIQChgJcEkOhlJt1kH377UeLKiyocySbrq9pa+IsWfFvEtgIgI9rZmDMaPMJDE/9f4ikTf0TT1GVMBqJQNeXB+Rtgx2Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36076,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcG+NqCRA9TVsSAnZWagAAPPsP/0xiwAET/GttHx2kujy7\nWz9T2kE4vB7TW4gETkM8hUnQHnR462drCBmtKQpIqN4PF4LLfDoGQVIOwcYG\n25G04Zq+VuTlkjZcgfKaJV6TjiMPNSnS22AuPDiBjMHlRcVyIG6NcJUoSNG3\nETcgXRyPE/AjgF/PRdARW3bMREYadi3HfuY8/og8/pTR09bXQItn9h74tYpI\nruPn1VlC7jXGlx6zSeOlSr9MZY0+/YxOttJRuLV7Rmtuw2hw7aOwZoAPTg9v\nTTHVddWjaFlpvs4gzjWvhgCm3YSNUInGu5imty34Ad92F9TO/lqiBUfyjyep\nzuMp5pXXc9PiN4s52mx40wyMqJ2EPFol5chdm66MXU3NFAu+M/n1U5WJ8+JV\nV3kB76fan31g7kpwLhwmsLQbbAP57VNdEvAnMwpi7i1pp8rCZ39TY98U/GZH\nZJ7xaTLqx6pKfB4uA79GSjvP7XD6BWt3vKOXeuopa/o6ipGrgZWkPxFW0Sir\n0I5Wu1KtBkOVNklQF6yTusqQxVBUMFd6brIz6JZXfkJD9OMEpxwjmlO5jdIQ\nBnvP+znROddE3wneDTyJpQ5fJQ1YpWbBkHSD5LT+tLXBDLPUwfoCl7TFEW2e\nEqwKj3kR61DWSLernTRx6mlKrogakAX6OdjPCdFytMKc6APvcSLiXWzmK/jx\nEdRM\r\n=73b7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"27bcc335d913aea4dcfb43e168488349282e4011","scripts":{"lint":"eslint *.js","test":"jest","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.5.0","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.10.0","babel-preset-env":"^1.7.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-import":"^2.14.0"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.1.0_1545331562043_0.24936865223771476","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"fun-hooks","version":"0.2.0","keywords":["hooks","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.2.0","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"7989bbc5a084ee5f81877612e080e389b26b9853","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.2.0.tgz","fileCount":8,"integrity":"sha512-CkRdkE1Kp1BvM9faaNra8ltJsUPatJqOJHUZzJFOKub7QRM9Vr73lnJ7iHtBs0UqfL4cFbXcn3KcIilVyX+B8Q==","signatures":[{"sig":"MEUCIQCMhKkK354wjvsIITyW1jqqleR/JdtXbItOEVp1KADengIgTGWNiOF8SKjDjTil23yEJw5WfAOmHrGB0FRapHnaf9I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37153,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcHDAlCRA9TVsSAnZWagAAmw4P/2WfsHAg5HNmTwtA/WAM\nPZLXnjYhQxK0yyo0mhhaIxLwINMaAbtP4NHvLghKLP39zwKVSpfnZxrozIAp\nSYcZ5IISYbn61XWyc7ozLKFgZCSydV0gRdLPflOBX2C8HmTbk1Lo24d2Us3B\n1kq8o+hzW7CehsIhGXeNkNbzy65UXDJ2R3HT94SEPoGicCid4ZHRwhNFf2/i\nv3qWQw98sK2g3uSsxSV5EM1MXf7Mj39MdRu3j9TTy+7RQ92QL8lE15/8hWKy\nQ+8ZuKrW8uS3LhZWLO9/6TGEdXw6RfiJtKNtjbewydagVFn7x+bF/78WrYaq\nicfUVdE9X7zMTHEurPwQmfH5AInMcyusy8GO36JmEBcl69QPsq74rvmgF+u1\nx5Xu4lzzHlXEZOd3/vk6edyQDsrgNoJnpKv4yz2TQY8mq8UcmAkquipbTTdU\n0g2fCrMSB0Yi9dTgHPRLL39leclSf1dJdSq6M2c+BOaLI84ThAIqn6OLyiAx\n7tZjJOLK+ycFd7u6OETExZP2mtttvJqv3FWsKXXWQjGuHygLJ1S7rWEnNknU\nUNksOsAtbCgDZ/9U8o0I67A5U89yaC0GCkZKyrLlPyOsPUqlJQ1RoA4B4zuc\nXwW9R3DCHmw2BBvwOLmVyFkjRsGf7C6vdLpzWwACv2r39lYGU7tvlYCG81iM\ns0U0\r\n=EUls\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"d0f072b2950f1a355761d0398649bdee4dec142d","scripts":{"lint":"eslint *.js","test":"jest","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.10.0","babel-preset-env":"^1.7.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-import":"^2.14.0"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.2.0_1545351205015_0.009946724219875858","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"fun-hooks","version":"0.3.0","keywords":["hooks","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.3.0","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"bba0671c7ab9eb71f37b4c94c346def582c072fc","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.3.0.tgz","fileCount":8,"integrity":"sha512-9IIUiM/Nai2kVxY3RD/c18EUzNgX/TAX/7Rm4hE15oD3BgSLvOOTc0pHGx9LFeaZa83JpCR9SKUSE941WdIeLw==","signatures":[{"sig":"MEUCIQC58pBGhqfh6dhIks/QnGvYQzWDVK1qYTSWtz3jG3B9SwIgJFxyDfyaPqgzC55DvbMvwXnnP45KRthxun8HUv/ZY6s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37185,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcHD7OCRA9TVsSAnZWagAA9gEP+gNuQZBz65E0ob4BUl1Z\n+EL+syhmDDg8gwUumBhVd9QCM1vMryzpwuUwiYLAAEWGxZAIy6q3NpWb6fIj\nvuojBtG6eO5dTUmIgkNbpViXuTYMUMakG0VyEkfHVajH9epsQMFTpJb83teV\nSQe71WZGVnJuYSTdFWxZX6UZK9eVXhUt1NyOwD7Ooi//8jdb67VYdsUA6M0A\n/T73W62gyap2Tpns+ngdB4DDjwkRJf92M5VITQt62hVk36h9TiLrBRzm7QYZ\n+rQzffd0Ry40FMG91ExrMHhJR0C67zwH4yHwYbyoPFZEskezzxyDr+qxpmCk\nr2q+3/Sf2v/T46BvEUinb2jTVr8EDhB/56tT54S/dGaYReWqgqIMniwVuoN0\nUmmZMOGW65zrSlSUedqLvvyYYOYYMOkkwXEdG+VTJIVmVjk5F9D0d0paRAy7\nAXvxuotkCzo8xXeeRMv/Nth/C25hcAyOxGJUiic0a5Cu96X7S0nDAWlkQSsP\nKb1O2RhCkMYOWNlEBC9kZGqjBeRIx0wAu+kcYemcbsZrCHKLKrbUNrE6gGbs\nl6+i2M2R19cjdoj+Zw0stYeU+vGQaQVim67J12Y8hjBLKMnGQ602zxNwqbAM\ns8g/8deKzGrxbjoxaTHMfr7wuPlEaszzEVXsskQR95htQRAWmRMW0QR2Gbop\nH83v\r\n=Ee33\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"4f8924765923b2ea05e0c69c068e7b7c78f57d5c","scripts":{"lint":"eslint *.js","test":"jest","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.10.0","babel-preset-env":"^1.7.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-import":"^2.14.0"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.3.0_1545354957496_0.07717248731420834","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"fun-hooks","version":"0.4.0","keywords":["hooks","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.4.0","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"3267a825e5fc9030b10e220555161c40c994df82","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.4.0.tgz","fileCount":8,"integrity":"sha512-Xd8obVJOFSgaBx+rCnyT/OU5awXJ6Jr0gEK9idvAwaBv88A0l52kx4lCop2PtULI+PuGdmfFsvI3I31HHN5zUA==","signatures":[{"sig":"MEUCIQD9HXdLWXN8AxHHJ17nVZMqUFadPZTXMx7IaN5+koN1jwIgaWyT/uvYP6+MFwDXheEuMXHs8KCeepBvs5TFtIGTkOE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37932,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPNzPCRA9TVsSAnZWagAAOlAP/2ZwGQBx7976rezNdGx5\n3Vb9fsegqpm/rLRChN67ziO2b+XHaXx/StgCAFUCSmlNeiYzsDt6Db+q0dK7\nunjbUdbDfXvaaDrs7f5bVIqw1D+2SKabVBtjPZkhCVvM1bsCDfFRrAot8Unb\nLPgKfPpv0nAkuaKb7hqEGV81Tks9/u9XD7zEJ3U9BQpCu+OavtqAs9NB+QsY\nKVpZoQau5YBcP22ObW28Tp6dalk2hMhk3fQhlsVo4WLEJugvPHylB2ly1Hpb\n2jPfKYwm0wWsbHcQN+qsLdJMpfFXX2ObnFjXQenFY/3KzwHuj6lyX1aFCHjW\nvl21UQuRDJplFWR6KUTGfJafREcKyTn5sr+jfAqP9r/RkXoOu3Rgy1ss81FO\nND71+XNiN3FiFS72DAwM1o86+PU10GTnwAWbFnlT48cQO1U5XTjueMu+5MK+\n5BTXR23gAxJvePY7p8tIbvxsKSvCpx9NRc1fH/IDtrgGhLdns2+RkFTkH33C\n5qN9zWbAGmpuH89TrXoR8sdh1FaLEfu01MP2P2zl1aFx0LybsSTKWkJWZbXf\nDB/NUcE8ovYFkR15/xlnWgr2ILhw9aaOAn0YerCc5fdSUbGNggZi2tRbRfxe\nPsWM0Srq0UfUT6qCUD1joUxtD30zpqFEmSW2ZHdX+u/CCchUXSA9O8/whgMi\n5bKe\r\n=JA0B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"d9b33458a2cbe3cf331866f12ee95abc889920b2","scripts":{"lint":"eslint *.js","test":"jest","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.10.0","babel-preset-env":"^1.7.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-import":"^2.14.0"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.4.0_1547492559055_0.7710293041365026","host":"s3://npm-registry-packages"}},"0.4.1":{"name":"fun-hooks","version":"0.4.1","keywords":["hooks","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.4.1","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"72c0dba7b0442d356541575fe657072f9b82993e","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.4.1.tgz","fileCount":8,"integrity":"sha512-4h1lTP3t6p8TU9rVIv5P/Mkhb9sAN6LrzIs0BVpMb3tdorT6EJw14bVp37Qns0R8wqdKQrEEZslujt7hInb2hQ==","signatures":[{"sig":"MEQCIHs7N4Z3is/YemSRf/94H9IXjqjWCefUhxjfELjuQIhOAiArXjdulnzKjINDofGRcJiI4y5zJ0YmYEioLPoKf0L4rw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37943,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPOKkCRA9TVsSAnZWagAAS6QP/326hRRcP6qO17hySITj\nwG8a5JEqlkTXu9LbEl/zy5jGVQ/BTNebmTZgDK/4qoeD2pwnfUv20UffuPis\n6QZfmFRsnhCz1Jub3fbkshNL8qKVH44DVtyv1A7keZkGWytxvKJyqAyPQ/il\nGkgM9cmTV095LgShTh4G7yUGrsnEBy66yzLCgP4ngat+RmZoOB1wpbji5rIX\nAGrMKXF2346xnzV0s9131zmZDm07aHkUtwSOyopj/2ZRepmZzAyC5QDZvPr4\nnGLNRD1QmhCSKL3b1H0NOZQ2evDr0cLt6W76Whx/1LZo7TzkIZ8Re2HZ2HBE\nJ+E182IjDD7ey0LIKpfJCXiOyuNhg0KvjVuNh9x72GfU5/9xD5kUoGevbEOa\nUOZFrAmwgFGDn5ElEEvoPwcz6kdIgrKqsyeJQge+hQLf2dS0vT2huUk1UlHb\nWHdKnQZUAWnUIwnT3Pr1l7P+Kz1SA6mpu2eZ/cNR7SU93YITjIRzLXf6THSf\nCWcBVZxxYGYpaSGspWef5wFfLuQvQqUkoyEKL95kZPOKmjd8Rfu3Vq0cnlxa\n7UjnBxuGYc/d9AuX1l69ZjVgusIloJmGMA7ZyJqwOznhq259/l09ybXPotvq\nqd8kjR4qZxgO2TjLU/LJOOmdb3klQ/SdznCrhPNxKlBVLlf42Q5V3Sm21AHm\nufxx\r\n=rdEn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"dcc1897139fa26964e63fa4a4bb72f41b39d4fea","scripts":{"lint":"eslint *.js","test":"jest","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.10.0","babel-preset-env":"^1.7.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-import":"^2.14.0"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.4.1_1547494052051_0.6519199154552313","host":"s3://npm-registry-packages"}},"0.5.0":{"name":"fun-hooks","version":"0.5.0","keywords":["hooks","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.5.0","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"a21a95e1c7dfabb5cb0ebb698d40281d5318ca56","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.5.0.tgz","fileCount":9,"integrity":"sha512-66YbErGsuJgJHJD2HNkQVz1gRlUm/T6vZjNmSAQKtukilCDeENhwCqZHVzamrkVxazpYSi59TgLosRLhMYBAFg==","signatures":[{"sig":"MEQCIAmGNlK26a+LMD1ZJj7NUlnCfiukueuJniZwcxq94z65AiAqPAJ+mV4l49zvOxxU4O4VM/OG7hKMQtFdewbcTLEyVA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45575,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcP6vbCRA9TVsSAnZWagAAvhYP/1q86jvbOjUB6dikvD7G\nkO9V9UqiX2Moc9SIIRYu33Y9Qws5kPM6z0AkYnZBtQJDDuYRJr4rRhdb6f8L\nLA367VcbPYkHym+eaW+Y4mfxYVgbehhFJljNZQK+8Ys+seMKGSWfS/h1Cd3R\nl9rAPhB1IpE21wGf9FMb8WnoxV/kuLIjNthIuAlxrV6n5R130xIj1H/QmiTL\nnrjA1B6d7oIj02CtFhkffMEmLC+BXnAg8dEs/0eN8W69Hb5qJoLM+wkwQl1Y\nshbzbr5qHtIlx7ONf6AM55IDJiXWouxXsaet7eFW+Sk+Sizm2+/1NmeuowZF\nfKu0bX0Mh2KmpDPIUHuPNaBkVmQmASM82TC+C1WrXBQCtmm85aI8hJfu/WZg\nMzk0OsP+O/NaXp5rW5Bli+R+Du7YMea6xqjzkS7Rq1MNDWjeDCR3bOcKUYvI\n7YjBF8e0C2yGHEJBX2lDABE3nsPfSe9QDISaDN6WoBbQ+qfVdSn2xXbxUbPt\nvhgcNuHdSFxC6GGJ9OJMdC7ggXEURb7Uq71k70okvHpaUo1AFDiuRr0ahe8R\nzGIQiFVzSxRnYP9nkTFLweXkdsrJPdeszusKfRqB/sc9SK71ek2bJx1dmeWl\nMEjVn8Zu28MqB0U6ZJJxBwweijnZd2A/a7Iz8UPmdWKq75T85KnkvMwMPj18\n4W7Y\r\n=DJJa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"feef9b260c38ab8cd3f16624668e8114b8685e3d","scripts":{"lint":"eslint *.js","test":"jest","babel":"babel index.js -d dist","prepublish":"npm run babel","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.10.0","@babel/cli":"^7.2.3","@babel/core":"^7.2.2","@babel/preset-env":"^7.2.3","eslint-plugin-jest":"^22.1.2","eslint-plugin-import":"^2.14.0"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.5.0_1547676634797_0.8787040874706853","host":"s3://npm-registry-packages"}},"0.5.1":{"name":"fun-hooks","version":"0.5.1","keywords":["hooks","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.5.1","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"71ca8fc1a831812c6df836915a4bdaf39d924765","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.5.1.tgz","fileCount":7,"integrity":"sha512-BlFrX9senOPBOTXUFk466kslwrYJU2ogbx8739Jb25ESWrjlYCzYNou86osrsU/NYhd1K9U/EnSIBp6IvKFCrQ==","signatures":[{"sig":"MEUCIG8iKrdRN75mJLMymrHlkUdOhXN9oGFh7D5TqnoCD43cAiEAvHCAFDLH1xITCq87pQqAGMzKt5h3QSZC/oYZ63BCW5o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcQl1dCRA9TVsSAnZWagAAAhAP/2pxUMKs3EhbRvPvcLlP\n1MqlJppz0jkkNEyfJbVnhF0nugMeJ2qHX3BZy+QK46z7yI+8ePvt0x0Z2S4W\nA/TvlhjA8JBeoY/TBhXTE3hWGBTTDlqGAPN79FRPTZt8VBV3s28Nzzfmeynq\nsacgBM1WQvpbZgr5pw4kXTPRlA41aIQ0ilZiN/HCW2zKv6vjsGDpv8lajPiI\nMo52gZoIIjzUKS0wpOwm/uBu6VK+T5WKuM9n//eC386jrcrfCsSfiYWwPikT\nkcmW+vYw8AvfzMNtq+tXWxt+GBlaFERAgV4DyJHEEOXBqGmuKgnpmYSoLr91\nUK5Y63Q7Xol8rsag/jMBngFVM4mwQgons9bMHMB520B8WiQRDbNn+m3bqTsM\n/1o8EGrYPV+ya0YcLcEyqoLN5Ye3NlPW11dC8Lf0SJAcRhfYAGZpNaBV04n+\nnfX2JNUonjd6BNtLH8N6kvhb8p/p/a+pIaKxBOnTTHxru6YCSpR04Nh9mdKJ\nBdiasZkYL+KEWPsLLC3OBOIiY3C7v3nvQ4uUFGCcaDQTDT/zKF17DvjtaBhL\nXjaZUhwrOmLMzQifMSgJ53/7uMy2SkDsVcSEZSyHgxQb3UdkUizGnzmoev6l\n9Hy0cjarM4eWyeYk1Ygh0PjXRf0+XJo6Mj+vI29jYV79+OpzmtYaX8/yl00h\noAh5\r\n=CqUN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"dd01cbad9780b71144ae0cd20782b97b0f602685","scripts":{"lint":"eslint *.js","test":"jest","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.10.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-import":"^2.14.0"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.5.1_1547853148933_0.5021944827977589","host":"s3://npm-registry-packages"}},"0.6.0":{"name":"fun-hooks","version":"0.6.0","keywords":["hooks","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.6.0","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"8f0861686a20bfba0a2dcd2d145f40e6bdd1a9a6","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.6.0.tgz","fileCount":7,"integrity":"sha512-7neuh9xHTzJbIHA58QBfPkoxIWnu85oMRz6j3hXERHX6P0hdSEBq/9emoenWieipWVA4JUouTPKhBoxQqLzm5w==","signatures":[{"sig":"MEUCICgA9Y/+fYePSML045d5JufXll27LV97EBUgljNDp8hcAiEAzKeSpTeUAJ8bWOaHz3jha1Z1Ak4QUF/JNgB6BSJS4ws=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48977,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSNcwCRA9TVsSAnZWagAAengP/2aABHL2Rlf9w35iZjIh\nttVE8XZW/IhEQg+G+lO6KE1WM8+1sdKYIODr0DGXQbX7HJa35IcrtQocCdXc\nohNdp1E3p801mcEHEOYj990xsynQDZB8urG18eMyIcQlbKpFodGetsAadQOR\ncG7N4h1+ZoQrljPnhUFiy0B91xdkUdpuqWwpnavY3X+9hK97s5uJicsj8tVu\nRWdbu9IWdp6+AFa7G3RxDpwYq2CLzt67c/iMUSU+6txq+30y2HqwRGa82o/v\nShLO6KyN6TJs2nrN6vpDA26oe+OYotZ3kG1XL2wOzx8k6ch+fclKLA+mUl/P\n8pjlkcDS9ArKqzkX6cfzBePNPHf23XDQuS2JN+J4Q9boI2db9nweUzvZu1g/\newJcMTNmnTPs5gu/Z0b6lnwDL94jBTJOHkmWOzhQZCdS1hsSTx7/OoPrtTHl\nnt/px4PL/SKjrhuOcMDy18V99WMpupVHzRj6x///RonN6kODru+hWfyA4WZe\nWsKGb43t2PIhLdMtJQWNvIUnDtj+7eC57V3G4ezpfFleclbswKrqhwQZaDFO\n8cZsWb46JE4xWVLcFsQC75oYlWbcIdrgaIx/Q1tawbb5IiNx2M0AqXV3tOg8\nAjAXmoa8CWldv9cEN3YoS4e9b3QSea5cu2B49tbYHYv8PIruHl5tHtMShfp9\n6A+J\r\n=NjiM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"be33fb8e77c787a43e95ef112428c9ed578f2422","scripts":{"lint":"eslint *.js","test":"jest","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.10.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-import":"^2.14.0"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.6.0_1548277551369_0.44895621139870423","host":"s3://npm-registry-packages"}},"0.6.1":{"name":"fun-hooks","version":"0.6.1","keywords":["hooks","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.6.1","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"f09635c7af7abf9ebdfa8e6ce2a010b610632733","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.6.1.tgz","fileCount":7,"integrity":"sha512-TBALRH6qqiCF6VpADn7VGDppx4FccrJWMm+f/mzL/WIVyYyAPXoWrHMOd63Wy3mzqL6BtA849nGKpch1ZsL6Jg==","signatures":[{"sig":"MEQCIEerYS/0dxl3INb01vWIW2ZV5kALsxeCmZUklSxfaA9xAiAs0aYhFNZF/Qu9+i1swRSBBjcx5j6lp1SA+pNCv3IAMw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48962,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSOYkCRA9TVsSAnZWagAA0b0QAKC+G4wtab/Wj5EZpge6\nZat1mAxzNTATmtuf1qO6pkyvdBOJ45MrUizAz0Lolb2wL2xvwXMw762wU3V7\nur3v4sfGmj13tQNNCtN7Alvpc9851P3xg9gbiTnGMksA0nsJ2e5NjlGhAPHp\ni4PmyXmDbk8sh9FeY4HTGhOCGkKJB/QMSLpNjKLhEHp28Aw/29rIrbxAOG7s\n/zZFK78uBydBWF+36rTTTK+YV4v/xVxrO1id3G7W+L52ulOx1tgtegrGsovJ\nL2zornFKuOV6mMJXGN2UEJDSkKebdygwlQ/JV4GbQcqhVpgU/sFl2m3vIAYK\nFIPcDMOxfigmaIXQ5eGpQeRK/yyyqfTtbPHDB036tkq6NPkOz68RazJNBzan\nAHgW3Pz6yudRzhxuuXBV8wxCV45zIfKFM6ZZD/RH/oknYdDq4+gKuvcWEinO\nYB56yjBUPW0OAsoewZob96wEVNqbSTum0czA5+7EYN3zJx7AXrh/zcT4SVB2\nZ8vVWXIdyE8R6GNHH2zNztKSw0h7BVHWyq+lfl7x/XnK2Fen9DxJz6Ii3gXa\nyhsf9tpToUYd5+okXDWWwNMuCc5UJVSjjaeR+IAd0UlPY2qXWbKqMBG/SW+r\nIIlh4WPKirDluMcceCwHZEi0CNu7udOyxmH0RS56twGFS5XthsLCRstjLm9H\n/1w6\r\n=ZVNa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"7e43a70d48571c7af16202d91206fa7d7fc97e47","scripts":{"lint":"eslint *.js","test":"jest","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.10.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-import":"^2.14.0"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.6.1_1548281379370_0.20917893818689048","host":"s3://npm-registry-packages"}},"0.6.2":{"name":"fun-hooks","version":"0.6.2","keywords":["hooks","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.6.2","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"5eb600acd6352c94d3d0a1592e0135ee4085470e","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.6.2.tgz","fileCount":7,"integrity":"sha512-APqFcikcGC2WhgTJqswBd22EbAArEDCOjYoihihytjuVelClaiaHfEct1W8AKENKQichX8aIC1DdliayatjVyw==","signatures":[{"sig":"MEUCIDPRisBVeo0P60VT2mevmtMtivahDRQj+lzDME8rRXkZAiEAxPpAM1ylIthSi2XG3ZjAr/yPZAkTWXyGMRV5lp+6gLA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48958,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSOjnCRA9TVsSAnZWagAA5h4QAIwzxLU1utinCG/lLlUr\nI7VJS/1bMFXESti5ic5n0IVOOGM3VNcvcVCp6Wf+l8fimnNitqgBHuFiH5AE\nkSIMdocTpcghfp4DdYv7aSzFfpb4+LiuYpnuYeEsrsOYopvxXlTnBSFB6Yz8\nu/Y24/5Lp08zt4N5VVuNeb+FEHfIcNq6y/FQQzGtPFQK0v7863XzN7X5I5hE\nC+MumPsDIIA+ox9SrSGNHhyzVbNrjnPOgh7tBVKO9idn53XYpPq+4FjV4nyq\np3FlivzSwIZRooQqDQvOg+O1gh1sD0+QmYkVRxhAI6cfstTb50hCw4D0+fvw\nUU1CpaH9GFlX4naIuhtTo9KT7KtwANEiIoAaOMhnoTSWiLi+VOKANNmrzzWW\n91QqL7wi+zGTjfJF+YeEliEu7dbWFxSnJqSbPpwQSzJsU4G6BNcGeDkdqsSO\nsQ2d7T9r29/Pe69XBJn82YLRTkg+XeTQkhL9UELnnSvdV1Is8jhviq+V+4QL\n5t6wJ/0ZFeX/lFPP4kKe/ov1oQ9jT6yfZniw8aDQ1ymEscMT7xGz03Lg0WFq\nMNsMXK+pMWUScsu/elXy0KRixZNgKpnFpcnCkeHS7z29QqiDbXNeY7gCnu75\nG3ev95eG8Bhw2M4lOA0nPnp3AQyQZvhAZAGF7eEY5Ik73dFrMvN18EqtKdEY\ngZnb\r\n=3lkA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"6b279e46e024d9032403d39cbb8160fb2cbefcab","scripts":{"lint":"eslint *.js","test":"jest","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.10.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-import":"^2.14.0"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.6.2_1548282086572_0.40575028691292236","host":"s3://npm-registry-packages"}},"0.6.3":{"name":"fun-hooks","version":"0.6.3","keywords":["hooks","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.6.3","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"88452a797f660535658de236c75ffdd94356b56f","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.6.3.tgz","fileCount":7,"integrity":"sha512-1H2pBZb01/p6peb+RcFYqVVVqwabNZtOgJwp10DSRu1puBM+FqC8XUx5m7K2BPLpagJj1iOdlVtRT8oPkNqlZA==","signatures":[{"sig":"MEQCIDtDZTglPklQt4wsuiiGl56c5CnbNyluTLGqWQBopZBxAiARZv93z9CfClX+Fi3StWMnLiYCWDOwwAnoarw+BZ+WsA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48958,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSOsyCRA9TVsSAnZWagAAq+IP/AsaHcHqr+L1uHLSymW2\nZhkAPkhomzfR1oFCdLBEU1+LYvJMYaifXG85b9euP44WCKVy4YsJ8ajarRHr\ngjK34iJQ4g68BXq/T8B9/vqAiuYOb8VTzNoe5Rrfo6yT9I+DQbHNyRlTkrNG\niFAUQfVGUSoVaBbCMZIAhUFV5FrHzI9tVvS503qJqRRpurX2/Mqu+ePt8nkK\nbLMtln40VBCbhYqQPFk3KUDHx6Czqht75Efv36qE/0Pwoi2qWLKTJ+i+xfIt\nNYMtL1q4r8pl0LSiSQKCp0wxFe+ddwrhzWCDas5gSTKqFScdhegBgVH+dTr7\nUmQaXKY/Rt/Bs5EArUEZIqM7DkUMxoceYV+B6bCUs7oHO7Q1XyA/TGGv8M5b\n6Oph4JJHqTmf6+9NucGD4R0CFy6mVA0mb/jA2lNP7e4GwZbCVhfNiBs7wIBA\n4w8qLm9pkMwHzmHiziHjAmQ1dR3FYsr+/TeFN5ynpevE3oF0Lho9peufAj4t\nDgD8b7561KWFuK1rYn3cWamJht0wleZOX/JSoDdj2tNsZ7RqGqdcvgL5sZrm\nms/bH21Za5qOaE2LGf2WM0axSCEr4ht1fGRCuT8YSIiHsFD+ku2dJbu0h/Iz\nnLIVBDrgmt3MU4SC6mqLIBWAGcXrE8SFy7AqasDoW3b5urxXvklR04Nhga9a\nFPp0\r\n=96xW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"94b695251d91a6c56b7e1db83b9866d99b6d8007","scripts":{"lint":"eslint *.js","test":"jest","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.10.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-import":"^2.14.0"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.6.3_1548282674137_0.8818877523413771","host":"s3://npm-registry-packages"}},"0.6.4":{"name":"fun-hooks","version":"0.6.4","keywords":["hooks","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.6.4","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"fc3c5f95c2f8ebc7248f9ae1cc38202155235567","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.6.4.tgz","fileCount":7,"integrity":"sha512-HKvVmvY3c9teRgAMQRoUcOKynI2+PVHOLpsB8fyvi5XCPXKolfvwI3BsHE9yEIGH85KnCkxGxwC04XVFyc3zfQ==","signatures":[{"sig":"MEYCIQCuDQDp5oGxlAwQJSZFO0sJBaGmloykLELc0rAKKk3aqwIhAKmhtQYRJq/IQ0+Z7q40ZGwKD8Os+1LgYgjLRgdzWpoO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49245,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSTkoCRA9TVsSAnZWagAAcjAP/jMRd2ud7VKnHclnx9ps\nekDHYtWzrBJINrw+PGtP4UXzJ9X/qAwR0VEPhF/jeVZii+oyYqyRgYqWCMJZ\nD/zff6fgrOooNtAOYDkivg7vS10Ur3gxk48COgXneJs6ScbzQYBnzu3lZ2QQ\nTHc8mErcCyjTPliIF27NLaYWUTtTO2Zj6xlrwo3YSijsF6Jmp/vIum85psRB\nUjzgjknZVXmr0FpzJJNmxdoYS4gcqb+uJ0MA46M1rch2MRsT5SKj+yIGCJ08\nC9wkRN7fyE+c9rK4gYDR3uwYuptoXeCm8OBOQsqY5lxuFv6qO4xeeoP7PqKT\nRaVdFG10qL2A0wuVz6or3rIL5wAx//BVG9RtH/kX3xaja6GKtE726coIEHzg\nFkvBg9ufVtSiGRblbb/2G4fsbakPqdo1A+eU9O/SnoFt9yzQijUA3xYD0gAB\nsHXKukXu7FBRdx72ERIik4DAEr9sC8yDqUpw9xeO4DFsjVrMUaSCk5/j0UYr\nBmdDos+f/iEXh5S/khJs5IcS5OD0Dk5lTtReqtHtNN7FQEJWLba9xMhxjMXa\nE+i50kbGIQwqv2zJD5V6mWkzfbNRL1uQUzsh3wajfc1KPgdJVKzMJ1U62OAF\nl1/A9JB/OJkFwO7jMJ8kCB/Sy3BiGKE5+rUIePzNeTF+VswRukqQo1q71Ujj\nH0Bm\r\n=Tkz1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"0b250c95f6451b0a0ccd00dbb71089783a979ec9","scripts":{"lint":"eslint *.js","test":"jest","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.10.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-import":"^2.14.0"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.6.4_1548302631283_0.5684790427847781","host":"s3://npm-registry-packages"}},"0.6.5":{"name":"fun-hooks","version":"0.6.5","keywords":["hooks","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.6.5","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"f58f40a1851859218adb01d56c19aa636ce20120","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.6.5.tgz","fileCount":7,"integrity":"sha512-DV6NAc6zuTukwIiq+4+iWr9bzD19hrbh60C25u3JEpXdzCtrR1UNB81jSBUJP12xKhdRMsoVrOBVnHeWZk6P9g==","signatures":[{"sig":"MEUCIQCApg9jYLqlnwlvqCE+Ej2Rreve3g5aIbwA7A25tmuBUwIgCb2ABAID+LUbAqeUnTu4n7yzvLi3pHPbCJ1VgXBtXRo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49234,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcShewCRA9TVsSAnZWagAAbW8P/23QzWeU/oX7JVCQld3J\ncILd6BfI36HWmmT9cBWjqR4xKjqOh0Nxfi4ukph4GEo81idmJy7EP30OJAke\npTs4pNUIxSzys4RUep7XKtGYyxBStftITu67VCVcFQ1HVtKYrEiJxPrZG56Y\njo26aQtzGG+uiN10fG0LTBFiIT2V6A4RHk3mEXp4fnKqZcmZBbkc+gOzk8TJ\ncQC2owwwbIppnMvOflX9oe9/Auwn8vm1mbw5qhRMDYrzI5pcebNXpTn0b8i4\n3zx62rVw5EGbjBjmvNO/H5yPvEtAyZlzszcQ8r7iUn1HQ7lLaDuUWTHa+6iZ\nmKxJbZ8IJJItZUMxULSItZ/e6fG9DJ8lAELkdCLu4sA6CH0/s2rf46N49K4V\nP7Hraby6f7wOc2tQX4Kwrw0UqsjP0CblNSoPVvz/2PDqBxb9Y5JvualLQe3N\nTrBLLYHmt3GvDjWXt9mNjbw4sKT0H091UMfyF5bOUp9UE73DPnrBrPbM5OFm\nB84ADwU6xJlZD4MX2qSX+fsf4eFY+iXMkYn9AiwPEaDjZKFKnt1GtbIVCm84\njGI4XgUDPJo8XWDVGsZkSnExh40qgfGWWVYd9+eedGLCZbSZCjDtEfIZUMba\nBq6CGOsi9m726afwv1+btzwdxaRkcoe3QlumFzNxwJ9bCm9I76jVbCbGjJMe\ntW3h\r\n=3hLw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"9c7bb2f76c41b0cae31444c24de18d0126b50b54","scripts":{"lint":"eslint *.js","test":"jest","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.10.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-import":"^2.14.0"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.6.5_1548359599705_0.03176517578190441","host":"s3://npm-registry-packages"}},"0.6.6":{"name":"fun-hooks","version":"0.6.6","keywords":["hooks","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.6.6","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"f931ff24a872eb17e71fb52a1e3d25569d0a72fe","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.6.6.tgz","fileCount":8,"integrity":"sha512-Q+UdtGIpteY7Wd6z4T9MZ4GlqHtrRY1gCk+XuLyRxqgLsCaPKOOBY7EKJRFlXm1oQoNIrg2b7W55dEN55O8FBA==","signatures":[{"sig":"MEUCIEVYc/Bc8TRsQrikiRTd6dcFp9nkIHW1vHBDzArlvMXEAiEAoHJT2OaQ/rL8hghZKKswZgk1zjWK+pEbn2gIindHD64=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":54114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYdFoCRA9TVsSAnZWagAAoeEP/03l3WWW0hn8+NIKwE1H\nXbZuhXrJrHs2QEVpgTfYCNMn9Mo/Ghn0Hx8swHcezWcZEJifbjzey2BxrwcM\nOnbHjTlDZyB6fQ7tYaRZ+5Zy3Gln6/pxlOBR6U79vjT6+h71FPJHIZSBIe+l\nprshZ1zjQa5Cgy+A/a8uD5MhyR+4W6yS2eAWsVEVya/zRH9L5d3PRQEaTGWK\nywx4ZALJEw2vQ5dKjSij4g4UUuJn0DVv8xy7XLQ8EuV8mCKSVCGYCCgDCqKU\njqn3TbytQaByfEcOhKJ+SEIa9RdrDHLPg+yG1yY0+4+JtN00ViY1R8/DtNZn\n0Jonaoh1dM2qCPeJHEEx2WS1hl35hd3H98jJaQnRZH6qayUAiWez02qN39Z2\nw7+BCBfi2jHUn+Waz9+TfAckKtO3Bk44uzBZlq8INyGGRAXwgc2aii1L/Age\ny1z1fylYmC6+KWLsIfGkhbpagaQ0v2bd96KIe/80sBexKWlQf/k5L/TEUWA5\nMdgzAt6/AKbdT9pRJNdivOMj7vuVGyPrYahHto3CSZ4Psnku7b9Yu08P7u7p\nViYGRSJ+mwUYEtSm7o8kf3soj1Z1Fk58KlN5Dhh4Ga81sRvnuB7LSdb/M6Ye\ntY1i/vzdoalXyGf7k8aSqe6gkDYXpyG8Y9hN2xNi91U3D6WyUJWJhvizWhC/\ndvIo\r\n=jgHg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"d464885b160cab0415944bf0b559d9c37d8925b7","scripts":{"lint":"eslint *.js","test":"jest","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.10.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-import":"^2.14.0"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.6.6_1549914471501_0.2603512864790345","host":"s3://npm-registry-packages"}},"0.7.0":{"name":"fun-hooks","version":"0.7.0","keywords":["hooks","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.7.0","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"8ee4ab7b727a30b07b6fd891359bb0e50c6660f3","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.7.0.tgz","fileCount":3,"integrity":"sha512-k259N8vW5fX6os0JPhBvGdtsUzpLUyCcrFuWKbW+ZHJybo7E4+ihMswA/Mq5YjujuSoVDjO1QPXAHIpEw/chhg==","signatures":[{"sig":"MEUCIE2/aZJD5DiC3XXqIDi53xxMwJ2XUYmopX/Jr3tuxxEuAiEAuWXBclfRQd8ZIsuP6KdM6wqxMwJxsl9fSHLlullHnrw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17405,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYfzFCRA9TVsSAnZWagAAAu8P/j51OYakHRgN4fIBdkFT\nNXMT5jUzR5LxlHmRd6TaJUQzF5mWnb9QVG5QTDl8P49BXZ+Yt191sRFoko+z\nXjvLFrRfb8Ul5+39EwvGM3GPTeWVRahJXNS2g6mdvDUJUeYbkJHzEP8lX6d7\n4VbJ6pm4gdWw6I+6kxl6ilPtrK6V6CNULImS9dD+wzMwW/gQMhM1g3h62x0l\nA/tAlE6KBP8Oka/25DcgWVsRwHeCpO6u64tAsT/Q/2HeXKjS4NICwEZsfn3F\nOBOe49lA0cc704BOQ/76jyoKuA4BifrwQVqk5H1FOQk35O/FOgoIJm5vFzr6\nDn4i1N2RChfELbZoGlOSZrH5flqvawtq1N0KFGUC3vEBgA6lVHo7ExMYzc0+\n+egK9lQFaOMxxKOzlZlVhn0cxXIqV+TAHTeVa2vFZBprR0C8FnC1HRiZAg9E\n+fr5DbjzDC1uVGu5JpwHIemVe8yegl0zu49MadTSjCJKbeEtUq8MNHD9wmpF\nT1QFxDUTIMx1DXJZ+RiVH5XitIw9ALjCgw6c4BNfgqPy8es8wFGqtKilauhE\nPBnfWe9Nso58qbYeIbv4AwfF3GRyrx5MQow6BnOBUaUJyLvzW0vS5SznbV/9\n7QeRgpolDPHA2ptN8jZC8Xt1OlmMmF4emMZcHh2NJH81SXXWm3mRhs1fOeV1\n7P04\r\n=EtH6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./index.js","unpkg":"dist/fun-hooks.min.js","gitHead":"1c2fbc7f70d9d8424a78fa189d90ece3a32acd2f","scripts":{"lint":"eslint *.js","test":"jest","prepare":"npm run lint && npm run test && node scripts/bundle.js","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.10.0","mkdirp":"^0.5.1","terser":"^3.16.1","eslint-plugin-jest":"^22.1.2","eslint-plugin-import":"^2.14.0"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.7.0_1549925572249_0.8528280878145489","host":"s3://npm-registry-packages"}},"0.7.1":{"name":"fun-hooks","version":"0.7.1","keywords":["hooks","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.7.1","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"5a998c7378f9fa148384d60bd81bd6d4e6a13e78","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.7.1.tgz","fileCount":5,"integrity":"sha512-xJpTZRb/KXpttb6kWe9RSa3oYMRSqC2TVg2nECpbpv3ytnWZzfCHUGj+PrtQoAx25/vDp8ewr//DBYSDolaL1A==","signatures":[{"sig":"MEUCIQDZJ8jRoaFdQSTfaw/4RVw7Rm1g/MucsKWLCzgQoBGx+wIgUQBsVX0EIsVsee2tkFYxPSN8j2p3S2+0ZarIyPm4yj4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28782,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYf4ACRA9TVsSAnZWagAA1jcP/RXjFU1S2cLDKc2SPLJh\nTD1dnBWcpvnNic7ppveeRgyEVVC1MzCI6/cznVeeXElMBP0CLT9n70RJ7hX9\nVfqoN76MCcvRppQz3sFkdiK6pNREvzyV6lXX28ql75RAxV+ybxmYbkHHXkUK\nD5VE/DNAg+FzjuvuJObCoWQ2LpQ7wYJmiqoBdb91VudXRHD2VlCKZljOcjM5\njf3qYL4tv4gggjGZiNIwGPKhO1aoAB/j4ISke0B0vEsaBzRt0ZRN9BU7c0R+\nZ2/ZlD0+psEp12FFROktoQFr7WnEefndYiVKlQwcWv07GL9QViPKTC8JTdFp\ngJt26bvdSpJLKQV0s/RPifeH/bVlEQGgzbEFuVrK2u+9q71Ui0AkZRWlB80S\nNvR7+/glqW1V5EKpzlJAtBPcMf1K9MKBj4KpMgdzfOB50oC54PQR9TexB1Xb\nNTH78Ec1dMiIBzNEuOlRD9HQaGxPRUhUkGZfTuuKXMn7htSeSW6gHU4CPxAN\nc8iaHJSbqQ039dfdOAzzhv+C7kSh602OVTFtPxJVOhNlDyYW+Mt3JiMzY8h2\nKG0Sj/xdnTmDN3Bj7iFJbRQ9pc+HoSJst+nIdF+KHpdRHkvoUcD3rCVsL4Cb\naF4CiIk0VlcZGRIMHBapys8yCz/46q6hqRhxuqBxPsBJ/Tq/2nzZHdOkvo+J\nRb6u\r\n=doyO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","unpkg":"dist/fun-hooks.min.js","gitHead":"22669b9ddc2e6e4e19a806f00a90ed3b64adec1d","scripts":{"lint":"eslint *.js","test":"jest","prepare":"npm run lint && npm run test && node scripts/bundle.js","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.10.0","mkdirp":"^0.5.1","terser":"^3.16.1","eslint-plugin-jest":"^22.1.2","eslint-plugin-import":"^2.14.0"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.7.1_1549925887707_0.28458940505172414","host":"s3://npm-registry-packages"}},"0.7.2":{"name":"fun-hooks","version":"0.7.2","keywords":["hooks","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.7.2","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"bf7f8ccb9d9903f0d80eaf61e2e6c1524554bfd2","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.7.2.tgz","fileCount":5,"integrity":"sha512-yQ9SH0ACw4+FezJoJfiJYm2Vvy2haoN6eXVq1U+hWWObMDWyVr3en6HXHrYlIhIh5xKuNwLu2Okzjp4ZV+wrdg==","signatures":[{"sig":"MEYCIQDwmbHuOF8NApqDJ4/BAHqjlWzIi7TsollwSL4RvtSVoQIhAPkihl0zwiVfsOcGAzbgtFTQupnoI7fPv9QTAE1nLmQU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28994,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYwE1CRA9TVsSAnZWagAAnKYP/RD9tyItr+6fiQOhv+wu\nlyUPaCH/YaGF9ZOvFZvfu2YAslg1NQL9beh98Fwa2J44q+BCsUIThVONMnzD\nTu5dA/2rLSPCk0Uk+ObS0BQIxmC9jCLoX7G5+vi/d7iXHJAY8ea3TaYBoLKs\nU2f4jQ0OEBOqThMIMGBnmzHhQd52da05o6Dl7f7o0Gfr0m1QIN66fZWPF3M4\n0Fs+BnrpjBFX8lYx/AMcRrn9ur5oj2ZyeXRLL4/0zWXmLm0hybSTczxPpATe\nyycfs1uSnvlqrnAuVbR9oTx8UwIRNPjtJ/4O258vxslBozzGmIS1NEFdNphJ\nEF/BIGuUEjjo0tC8A4tpChe481E6OevP3smOc/B2FOCrV6XT24IVXlCSkefW\nJtfx1Q9yR5Iq0FMJTAryVE9JcthefdiGpwm5BLaTq9Ot7WBnjybVGy6os5Q8\nyBWQ8hSci1fyj4RAh1hyFR4hf7xvGVOQtsILR/WX5CsFX08y9AWd+naIg00w\naRYq5Nq9MrEfqwrQdup6c8ln98C89Za2rxBOGSl/EvalLSRLdtTbdENUIPgD\nINhVy92bqkSyFOHyh1dm6MqmIkC50zv6+KHbe9PeYkkz8gx9KwWEoMocQ5/a\nosB38TsEkyFMQfRTnrwM7+qp4MsOOspWx2u1BdyYf8CJbBPJUMVBkHw0+jUT\n9jX2\r\n=oMre\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","unpkg":"dist/fun-hooks.min.js","gitHead":"24f31497088a0e0fb115c3bb887e7f2414544441","scripts":{"lint":"eslint *.js","test":"jest","bundle":"node scripts/bundle.js","prepare":"npm run lint && npm run test && npm run bundle","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.10.0","mkdirp":"^0.5.1","terser":"^3.16.1","prettier":"^1.16.4","eslint-plugin-jest":"^22.1.2","eslint-plugin-import":"^2.14.0"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.7.2_1549992243927_0.7474583760515432","host":"s3://npm-registry-packages"}},"0.7.3":{"name":"fun-hooks","version":"0.7.3","keywords":["hooks","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.7.3","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"b04e61901acb825d15df1ea6a6c488e220840349","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.7.3.tgz","fileCount":7,"integrity":"sha512-AbufOkCqXQCFgQ6TDagpp1tBCrTw2G59ez2EtSFTTbtHEv9EX8xIV5A6Jparf2bxS4QoHIMEEvC1jFd2B4pBkA==","signatures":[{"sig":"MEYCIQDh4eI+I4F9C3IcCRIqDm/q2vbRu8ug/DeiatDldU0s6wIhAKmnfjhSITj/yZvBpqExbwshIb1k07GvxGZTRVtm8wUa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYwQQCRA9TVsSAnZWagAA3UIP/1+AtDbI/wd+L88uPNZs\nZn370tOlMnJjs6WGtYdX3trfiAeVqHKX6XCCn+w/YaN+4op6SmuzOFCL+9sN\n1drNNrHbwepRGYrgMMJIcEL2sG5lsQtbbmFU6dZrqhKGupJdEe3ELdKkb8Rc\nt01ZxQg7R+JYU1PX/RdsCQo67nUsUWZFHfTOpA0d99v52+NQ/cg4bx96sXgb\nMC2DBvGuOdSXLGQchkCpWBYBoorMpkQKW0hhFntqqEsaqpV549OGRFDVee7H\n39teZaSpRJbfSpRJgjKYurKMuv8JeyJl2nfeUMcdo7KnMPHiijhuCxC4AAXA\neazAO2B5viG/Nw9HwCKUBJ+FAgmWTBXmWalJmnYOxmwfu0GEphJC/vSFkfDu\nx7xggq2Rmo2vFiXlmeTzj6C/ac4/2qZP9ZzVTYROQ8zHvyHZVWCBO/RYfwD7\nptgeACj9uXd3+uCuriOGmZGnU7ro9wgTBiKEZNBlyblWRILtrpcrObeCow/R\nU5bmj31ONiC9DCo7wiaI3F43l2RKcWdXlvuIOl4z69m2nB2BUool0QB/faXo\nJI5qbOwAzW5+Rd/avoW+7imdeAOc2V8bXM0FxKI/MSCfYMbo8MyBIBAP+HrN\nrJDF2szhlfxZ+JgKru6PzpySPTHS161EbIBWLwZiRE+sYUh/bP8uUDeFSIHy\nbw99\r\n=Bk3Y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","unpkg":"dist/fun-hooks.min.js","gitHead":"d6dc6f239ea5e7bc31b8e48eb8e12d67461fdf79","scripts":{"lint":"eslint *.js","test":"jest","bundle":"node scripts/bundle.js","prepare":"npm run lint && npm run test && npm run bundle","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.10.0","mkdirp":"^0.5.1","terser":"^3.16.1","prettier":"^1.16.4","eslint-plugin-jest":"^22.1.2","eslint-plugin-import":"^2.14.0"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.7.3_1549992975934_0.030805143362104603","host":"s3://npm-registry-packages"}},"0.7.4":{"name":"fun-hooks","version":"0.7.4","keywords":["hooks","middleware","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.7.4","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"06623d2b0e199cca25ea7ba0aec3b0f51c6c9f4f","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.7.4.tgz","fileCount":7,"integrity":"sha512-nM4aWwCUELQBc1TvVezsfAo5qL4Lqu3gFB5FZWXaLuKfG9eV5R6qafaCUCnMwdAxBVu84iQGnfd6Sx6ivUL5Uw==","signatures":[{"sig":"MEUCIQC1FPUDpSSA/FMnZ+f9TghleCh9ImvVpAmeWQe+fw9P3gIgBT6+mdXgqbr3pDbxLJi4wzmVTKyAU0hdWsodBNMPjZI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43108,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZdiaCRA9TVsSAnZWagAAW94QAJSwTcg87FfnDr5/ZcrQ\nPgf8LWnA6IdfVATtWahDWmZTkpC064yJjoQwbZtuyw3z406ur42wLJ0oE5lN\npnxmeWIKlKS42t7tdCrEFxjpIR4inp3FsEKhDWPNqAxHWezDzCKyJDo0am1n\n975SFGtmSZ3XEGGU/uC+Q4qy/Piv8ur0U2+6mmIxIdI2Wgv1tt85+xe8khXP\ncJcnX8GpIrbHpEGvWPFrxBCgI6+PUXiWd97qdj3HegmRH/VTqwJZTmA4KE3Z\npAz66IPI3FuMCp1LBNlTUf54S+mwCyzaBMItd+qHjqSXYuT9kBFKHyDuL8+z\nVVQQob8eRaD/hrA3mMqkX2IM9uB8RMdU+9qYFolQT2PmTlDMJqOf/9Ae9JBJ\nmt4KX84bJ8LLZINDcyIes+Kf13ZxGixFlQG0trOtY48pa4Dk9mzUQSKq3RJ7\n1h0BAoxIN/Q1HlpLY4uGzWXo61DDcL1rmFR3fKM1DF+jMfixWDFrQ2Jt/lHs\n4MyXl7rU8ao9WqVhnnztUdfDmVlaYmLIcAY7aSQFi2bEmvsuIElanIsHVeIF\nROnkwxgjYl8LxvVeqE+JieVOZKix6/st7ZyPGlBzCL6LcQ9KL+vGx7lyjluc\nyR8aAayk2O/ClkNeGiNeC0DFwGAJmRa9UYQ+a6WiwmiTPHtQoWyrFaKMl6P9\nyYZX\r\n=mfmK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","unpkg":"dist/fun-hooks.min.js","gitHead":"91c7ee9f8071e6f4a9491e7c39965b3f1de92698","scripts":{"lint":"eslint *.js","test":"jest","bundle":"node scripts/bundle.js","prepare":"npm run lint && npm run test && npm run bundle","prettier":"prettier --write '{*.js,json,md}' --end-of-line lf","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.10.0","mkdirp":"^0.5.1","terser":"^3.16.1","prettier":"^1.16.4","eslint-plugin-jest":"^22.1.2","eslint-plugin-prettier":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.7.4_1550178457814_0.04548983972394982","host":"s3://npm-registry-packages"}},"0.8.0":{"name":"fun-hooks","version":"0.8.0","keywords":["hooks","middleware","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.8.0","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"f0a7393feca3fb84eb8b89e37548f04e876d6c0e","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.8.0.tgz","fileCount":7,"integrity":"sha512-4FCi7/BPjpgistjZobOYdWz4VAiVmW9affhaNwureFr2wcGZywU9w3dJG/H8E59gqH+de+4s/dv2O0fEGPm9sA==","signatures":[{"sig":"MEUCIBAee7581prIqPV27bz2qi5hwRZ7B2gu5BxAh6jjTXjtAiEA3mT/hOvgPlJN+ucNfnJc7ms/rrgWDf0+oca0XT+uz1w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47087,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbilwCRA9TVsSAnZWagAAPwUQAIo1KFOIYyde918BXdUQ\nhihZmoPSBLnJvWC9Uu6lV6txpnWu+3wiRJcFSmxXjAOGX/Lehhx+fSlUGvnf\nEEFLOitFuSNYB7BZkqEv1FerDHAEPMcdEXO/gXKjzRt/Y0SoUnmwV5wdGQOy\nq9AB8xcz6VhIBChxZlKsEZnpqTdvasOAkDTqDpLBnnniSukwZTqmL/d32wW4\ntOhvcOQMLNaaQzV31D8LoSa6WRW+fOfFOv4mAZ+PtZ19OebeZXgqTv7eoqUW\nJTmGfydDPDqZdPZM5xdHq19XE2PT6Sr4cnXG9FeusSuVqGXjPgWc+FCS1ky5\n3qjx3EmXUR8SusUzIwNfBgvmFodQmUQbH0aNv23LlEiTFG2TmLMQpM380+w3\n5kNCIQwSZnKEodDHjR20YAZtO3VmjmkiidjP2+3+eHGgPuG8onYxKFBYsiAy\nMMX7F1H2Im4tMKBcRISaG1I6JNBc7WYBYHfPoEKXE/4xbgazpKhOAPJfIeh5\nGewGPzZRMYk0N/ltK9G8pDGGhH1GvklZUSunhnvGt3jei14MpPAfDPZZf6Rw\n0IUqnEL0ZPLpdFVKY7pjACY5xSKQCMAdeYrT9lb1sxXTF7fkrYSZ78i6DhJb\naUcgeEPL5Jv1TJ+v9lHNVmTR6JESnfE+2rMk4BJN4OhZKKVL4b8LhI7Q9+7R\nKKML\r\n=dOYW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","unpkg":"dist/fun-hooks.min.js","gitHead":"01d8dc62c1f1d74a5b4e8d958409d8d31381f138","scripts":{"lint":"eslint *.js","test":"jest","bundle":"node scripts/bundle.js","prepare":"npm run lint && npm run test && npm run bundle","prettier":"prettier --write \"{*.js,json,md}\" --end-of-line lf","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.13.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.10.0","mkdirp":"^0.5.1","terser":"^3.16.1","prettier":"^1.16.4","eslint-plugin-jest":"^22.1.2","eslint-plugin-prettier":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.8.0_1550723440028_0.30925252274527293","host":"s3://npm-registry-packages"}},"0.8.1":{"name":"fun-hooks","version":"0.8.1","keywords":["hooks","middleware","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.8.1","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"5ef7866840610a5a1858c26ade97b15d35853434","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.8.1.tgz","fileCount":7,"integrity":"sha512-qhyQAO6vhmzzwOJ2SvqeCvL2dqBCw3NeuIpNOfMPv2bucFYXLur9UbXTiUAbm7EE2TrdLgIKJZkO0DfwEY+KVQ==","signatures":[{"sig":"MEUCIQDxFmYe5pYs1dSfs/ez80atkA89aHcsIS6Zaq+T/aZGngIgGqfewrv+Oixgm7FGb3QIjwKGUh7QWuvPHfkPSV7d6hU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49606,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbzAPCRA9TVsSAnZWagAAB9QQAKLA7YhSoieHdUzJh/qN\nClz5KNOGP5aCEXoz2foDqctnvx7TP53ta/PakKxLBcZWNI/mKY0qFRShCGeZ\ncaTMVN1T8EPftkZ5lCmhb395Oq5KeFcsiiaCnA3pkUNGdQaf39XNdVPtZZi1\nuHU1rWjP/BAv5widukfEdSimSoMZS0DzGpUsb4YMaETrhH5yp5rGc2Zsjf4D\nPCY0BBZmpeGHuh1CUt2Pmms6NaD7Vy0L8DiIvs4F3BdK1zVGieujJfgw0DFw\nRMG840Vq4pXUZUPC8KEQArWaEhrq6fP6zeVecXxVtcbC6g5JnAMjlHTXdg3c\nOGBwzBzSHQHGl5DIv8MLTnxRS/3hHioX/sqeprmtEtOgcN+Xmb5wHGrGkNXu\n9LN9AmVXCwMZLvcc0YAR2orG3WwlrjVusahJCOqEU6fPocIWKl8wNG6z27UN\nDryp1O6c6NGxFaqIwOgv4W0eNg6/Xyztsi8akHrtECx3MNwet1n8O8rfhSVf\nbCxf7ZaVwEJLegswCTvS5RbCfXuhwBfodx8Eh2pWmymBZ8vRB5JxuTZwOb++\nch7LyVgkHbAN3vSQN7zeUZL5DgkizSOKWBA+vKTgxSv34DZQTVXyaMRgehhv\nwPfBCkSdf7y5GOrnbuLpwLgZp/lP3hHw6Rg//t7HKv4SvWeLOGM8rmu5BE8X\nk0jH\r\n=on+O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","unpkg":"dist/fun-hooks.min.js","gitHead":"e096cfc9f1d04e66e7181148090bf3b866421a59","scripts":{"lint":"eslint *.js","test":"jest","bundle":"node scripts/bundle.js","prepare":"npm run lint && npm run test && npm run bundle","prettier":"prettier --write \"{*.js,json,md}\" --end-of-line lf","test:debug":"node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.10.0","mkdirp":"^0.5.1","terser":"^3.16.1","prettier":"^1.16.4","eslint-plugin-jest":"^22.1.2","eslint-plugin-prettier":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.8.1_1550790670601_0.872669635846866","host":"s3://npm-registry-packages"}},"0.9.0":{"name":"fun-hooks","version":"0.9.0","keywords":["hooks","middleware","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.9.0","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"4e84ce1b02aae28426428a4ca8b269523c471519","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.9.0.tgz","fileCount":11,"integrity":"sha512-rypWDhk2YGKlcExNYGtuSdlQ/K0PavXGZXeSGOqRunzmsZ6fk7YQt0XO4aiX95S2ZmnVIM3v5qDn6oceSRvJKw==","signatures":[{"sig":"MEYCIQCIsKdfbhLOsp2+Zw/fmxQbk8kz0ahkukg3BDG8WrQnrQIhAJXjRS7NYZ1SUWbJbJKmJxMcUNFnGxf2Kb04zhkBOiZu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78053,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc1IcrCRA9TVsSAnZWagAAQMsQAKGVLvFHq8HMt3/hnfBT\nRP42Z5Yk9l4NLCSVrJT5IVuhnIjXCcgGJWvz497zvXanQUO6Dk1G1AtJKFY9\n7dmG6RDJ0yyniUkmCx4DVgEDCRWA/kGBxFk5XCjBbfifOpvEDJ+WXdMl2QdX\n77w6+vHG8JPechYKyOW7Oqfy1NLyevWF8V0oeD86qT1/38ubUG5SCecNG/MP\nr7pXydodXBzVSSTk5Cv7F6zaATf3rT5UqlxtNeCfWuXy9Xp4AYX9iBrfNqyP\nwjU2elJJgOYER2CxQdkbtIB4IYtzi9WScCH3q3r5v8zYmJUd9uIOqQy2n++w\n6XwxLdwC13WDDQIK5Uga6nmJE7EaAkvtn9KtOPauwPYeVkgS7C9SPeCF2YpK\n5d6n5B/ZVaDJ8KEI31pNesCIWN5iCuXRh+Uq0hk0GFUurzqAa47FhgB/hDmR\n+Y76hrDwUpus/WyMD3CXvtahoyThfzS8LbSepmgoV/Mo/bv52wXgpzaVkDbY\n1rTk7hprKuiZHWV+k6t/Ffcl/01lAnQunDRIsSiscxu2iWRvyRcn0vOtJKfF\nEapJGZXuuY1drRMuolS4TQnssy0gif6HT3aOEvsPeedYetY+x6C7oW2qz424\nrYEb3MmYXGZ/5blntyS4Nh1pMT5f3sVCvZ8KxAp6Z9uAINYIyf5WhnXoLT58\nOh0+\r\n=POF1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"eval/index.js","unpkg":"dist/fun-hooks.min.js","gitHead":"21c987900f7ae96aa56776cac6a9b03c4878d0a0","scripts":{"lint":"eslint index.js index.test.js scripts/*.js","test":"jest","bundle":"node scripts/bundle.js --output","cleanup":"node scripts/cleanup.js","prepare":"npm run validate && npm run bundle","publish":"npm run cleanup","prettier":"prettier --write \"{.,scripts}/{*.js,json,md}\" --end-of-line lf","validate":"npm run lint && npm run test","test:debug":"cross-env DEBUG=true node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.13.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eval":"^0.1.3","jest":"^23.6.0","yargs":"^13.2.2","eslint":"^5.10.0","mkdirp":"^0.5.1","terser":"^3.16.1","env-cmd":"^9.0.1","shelljs":"^0.8.3","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^5.2.0","preprocess":"^3.1.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-prettier":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.9.0_1557432106523_0.09359142399839038","host":"s3://npm-registry-packages"}},"0.9.1":{"name":"fun-hooks","version":"0.9.1","keywords":["hooks","middleware","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.9.1","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"29f0479e113d58b6129292ff3201c43304f672a6","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.9.1.tgz","fileCount":11,"integrity":"sha512-MZ0vZvOx83vz3ADy8y9EUtrJEpCsMIdS3N5DCCF56wfvcenhIkiF68QWF2sM8/7bBTOphMbMXeW4d0NbZbgAEw==","signatures":[{"sig":"MEYCIQDoMoTUW8+ggpl7kftPhl75TZOX3i7fPR9N/sNDbWXhNQIhAKDwo4vSaEbw+g5j0bgjNp4cBolPtWETzoqvzq62+1GU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":77289,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc1I1XCRA9TVsSAnZWagAAt1EP/jD2NAOSNt9QPTkLOhVn\nSSndwz2GR+mCYL74mVVksUoXb+ZkMN9W+cYvUSWtINo6moGZibn6WCO1u+vw\n4/O6+PPJxK7ddtt6BUL66X6uVoG8us1UgD7gysOKvm7+65GXjbZwnOrX6a4u\nilrQsjCQHYKXSMJ8XzKuSCy6hPPPM/oyFb/eSH3vL5JaA1x+tpch0WYLP1eL\ndl6AW+DngAf4+nV+GjqTMn0MwSlgdOCzWSqGbZ8bfQnSFXdq02hQD5kJXcUJ\nwo778c6oFqRBRqH/OI3dGQuQD06uskHKLqVMeAE4Gj7i1KPOcapb6PtsnrKe\nohijy3+3WNxZC7D6wKyomxiwKjqOUYTnu1SCBW/Ow2Mr3J89Aklkg5gL7mDm\nwjtC7ZnnYcCTwm6dIgfxchpvDO7iqGu7hF0/hi9ZKeIspvgLc6OdWx9b0LRe\nz7+qJOqMXptkcPob9VpqTM17+WaIAYOUXDPUiCldCbjIaE+uznZ9odPhKPp5\ny0TFTo088ICmvMo9L8Ri+ZbfuISo4VJpW5eoHmUD1oKkd2yqvgzF9AiupVOu\ngGdcoZvj5dlWyKzdDiGnEumAAwusHy/afTeHCZ0EuMVFm3wia03cu57QDYBT\n2pxPw2/tXKb63hsvs9jZXA5ycX9FpfPeKXT5AOb5h3l8VzOdppfI9vd5EwMe\nyFKy\r\n=LHBC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"eval/index.js","unpkg":"dist/fun-hooks.min.js","gitHead":"47642eb257830a8a21c2742fea075124e3c6e9eb","scripts":{"lint":"eslint index.js index.test.js scripts/*.js","test":"jest","bundle":"node scripts/bundle.js --output","cleanup":"node scripts/cleanup.js","prepare":"npm run validate && npm run bundle","publish":"npm run cleanup","prettier":"prettier --write \"{.,scripts}/{*.js,json,md}\" --end-of-line lf","validate":"npm run lint && npm run test","test:debug":"cross-env DEBUG=true node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.13.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eval":"^0.1.3","jest":"^23.6.0","yargs":"^13.2.2","eslint":"^5.10.0","mkdirp":"^0.5.1","terser":"^3.16.1","env-cmd":"^9.0.1","shelljs":"^0.8.3","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^5.2.0","preprocess":"^3.1.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-prettier":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.9.1_1557433687176_0.0939329103211417","host":"s3://npm-registry-packages"}},"0.9.2":{"name":"fun-hooks","version":"0.9.2","keywords":["hooks","middleware","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.9.2","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"c0692316de311bd0ed0e235cde1c769a599930c9","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.9.2.tgz","fileCount":11,"integrity":"sha512-Bbhqg3zj/joiHsmU9z/DBPofMN8yN4P7m2cE4sqZqaL+C6YcAXKjwa7Cu8rUs3roBiAhgWwQOAALZZodpmBglw==","signatures":[{"sig":"MEQCIC1egk7fDFocwdnzgjfqxcf55lp/SKEy4US+aZXw0QIcAiBPePF0q9W40lATMyVam6dZJ0o4YcA6urmEGlQqURYkoA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78978,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc1JPDCRA9TVsSAnZWagAAzXwP/AvW7FhyvvTB9DvA3XVx\nn/52F329tiRV53rCY+te9COKP7admRceECtKU7Jl4Z/pX9RdZsmM/4Nhnk5a\nd/i9kVrM7Ph2kpwLU9yJk4I2KClm0wpZCTWfgcnfgwbd4yRyLgl22cGIRuX6\nEIvweO89/FVXFpJhzTskH2BqQAJ3DMOWtGkc75+ZAEE1vAjoTeTB88J+Cxep\noZ7FBvt8r/EpC2xePlt9KoEFMdZUFOVxkD6bD03ZIQhROwQHzF6BqJrVdVNx\nZib7KcvfFOgqEgAWbhV9GNrTB8qWNpaBPRM6u3wdKem8pQP19vfMdhgGlukb\nRwSn5+9V7C+/k0jaQyi9nRWi5aaKNhb/KMWqv21Li4/Dpxhk5xvLo/XfqG3I\ncdfGcICL0s+dlaHPD8mAFnk0zGw2Ev5P4dl7lt3JTHGkJzsXVhk7SFdBNn09\nnlOF44A4kKegTQV0psIGzdLPRjtQuzAF7NvuPPKiAS+rFgMpsK8MedzvZWGW\nwDQfJ+mw94Run9CPg6I/Lrt4U1M7Vy0Ig+yWpIJ8nEGh6+Ge8hDTxHAKJGTS\nK3Dde8LGEUDFNOOt7HLcctDp+kX+1mUk53b93OsYI/FOXubnRKWwKh94qGjx\n/rrtvZ52q2gzIzZ2cM0ekcxxEX4GYgeJAtBk007n30OPNB41LDUKlN/v65u0\nopXJ\r\n=V2am\r\n-----END PGP SIGNATURE-----\r\n"},"main":"eval/index.js","unpkg":"dist/fun-hooks.min.js","gitHead":"51e8237c41de06e66c5f8b51e8ebfb5a74b586b2","scripts":{"lint":"eslint index.js index.test.js scripts/*.js","test":"jest","bundle":"node scripts/bundle.js --output","cleanup":"node scripts/cleanup.js","prepare":"npm run validate && npm run bundle","publish":"npm run cleanup","prettier":"prettier --write \"{.,scripts}/{*.js,json,md}\" --end-of-line lf","validate":"npm run lint && npm run test","test:debug":"cross-env DEBUG=true node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.13.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eval":"^0.1.3","jest":"^23.6.0","yargs":"^13.2.2","eslint":"^5.10.0","mkdirp":"^0.5.1","terser":"^3.16.1","env-cmd":"^9.0.1","shelljs":"^0.8.3","prettier":"^1.16.4","cross-env":"^5.2.0","preprocess":"^3.1.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-prettier":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.9.2_1557435330609_0.7049358108465809","host":"s3://npm-registry-packages"}},"0.9.3":{"name":"fun-hooks","version":"0.9.3","keywords":["hooks","middleware","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.9.3","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"752520ba00907cb16eb0f61ed3651ce3fe32bc03","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.9.3.tgz","fileCount":12,"integrity":"sha512-MC/zsGf+duq8lI6xym+H8HuL6DE1fLyE90FRzU/j2lTDmjDJ//+KC7M8vLzG9y/mhkLOH5u9wK4QEf3lBqIo4w==","signatures":[{"sig":"MEUCIQCXR4BXA6Gs2vZgGClztcKq/Ahma+IVSmE1qlmS7zvQjQIgQV7WFLw+tu1/OsggSQIiRo2y9LZt7Wv7FBulzihOJSs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91133,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc3dlQCRA9TVsSAnZWagAAp38P/i33Qlom9lkXWlFSB+fp\nkwy6uNJ3erW+aw9NPPZ3twEQXd+GrjHbuTTabwlf5ojdXvX6zx865dpqrpnq\nXpqxIH4HsKmna1TmlBHH48LJBQ0+KXrms9X7Y0sqh5WSnSrkpI8FSi1Wj32G\n8PnRqyShQUB9YEfsKeUdlEpwLvxx135F8VPhmPMBpLiJDPd57zGddrfM6CXI\neksUF4aAyURA1BRYGu3+2BHzhJP0RJZ78XAKS8IqTzkpz1INnwedyXf68qgi\ngyXg8gSfb5xIfEs3YJn9pUMkJCb2JAQ506hCAjlYygWTxpQNHbANWtZM7ALG\nsCNWuvMWZVQ7rwN2V+BbPTi02aGttduf6S//m+EiRMGrlGdlAEUHOWn9ZkSr\n+/pwGnR2y5UHsWy54120HkS4dtRehN3BkbIjJzmywjiLftnkznQpA4cv3jh9\nXr9DY4q2KGFVE7fOCuyie9uwNWzx18IIk5qiVZcr1jZyY0bXTTouFFeof6b0\nKgrUTob5VxFpDd26BgpDuWbXbrByKOxzfiwfNFML2QsI31G+o1XZx1ddbwHc\nQnj9Ekja9mdFVNtmPSMXWPKOUfGtciLyGNUoac2AZC66G7OvDvZ0X8jhoEuy\nNDxOSKwVqSuwnBplF42W2Bi6wYvBiuiagm7bCOVy9lp0jHWiR1mTlcfeUJPH\nrVuo\r\n=nLmO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"eval/index.js","unpkg":"dist/fun-hooks.min.js","gitHead":"0e2a57435954c9448539472639aaccb8070de8eb","scripts":{"lint":"eslint index.js index.test.js scripts/*.js","test":"jest","bundle":"node scripts/bundle.js --output","cleanup":"node scripts/cleanup.js","prepare":"npm run validate && npm run bundle","publish":"npm run cleanup","prettier":"prettier --write \"{.,scripts}/{*.js,json,md}\" --end-of-line lf","validate":"npm run lint && npm run test","test:debug":"cross-env DEBUG=true node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.15.3","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eval":"^0.1.3","jest":"^23.6.0","yargs":"^13.2.2","eslint":"^5.10.0","mkdirp":"^0.5.1","terser":"^3.16.1","shelljs":"^0.8.3","prettier":"^1.16.4","cross-env":"^5.2.0","preprocess":"^3.1.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-prettier":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.9.3_1558042959479_0.4974958458434242","host":"s3://npm-registry-packages"}},"0.9.4":{"name":"fun-hooks","version":"0.9.4","keywords":["hooks","middleware","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.9.4","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"9a03699baecc0f134fc52dc3ec880e20fc91af93","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.9.4.tgz","fileCount":12,"integrity":"sha512-5s8JTkmuZ9OaEvlKPzu5Maa/Bbf/3OdSjzZQosGJPjPuhmi/ulYmhjmuHoel956IzoehJ895YCIXLA0I5XrgyA==","signatures":[{"sig":"MEUCIQDLLcAo0G1nzHWWBzE/xzKfzyy+miUw+Jot55jI21O1egIgL6WOXt77E27cYpm+dYtbvY4z0l4hKk9ZzXdELpAfc3c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91346,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdO3DyCRA9TVsSAnZWagAAzogQAIMp/c4mkcPYSPPm7vlE\n3LlB9XySgAvx9MLMv8LWCvquACBezYnOGywmiwAwvqpA0qU0lwNJ0ez6UiIU\nOoXi14CXT4ptBk9eyZ4P5gkvCpsShmyd/shMQ0KeO01V2QMrZCS28p9e76l8\nzBUKmUPIBMk0+ZTnJM+xHnyBc08ktRAkjrfIjE/uskMAYJT4WgM3oOyeQpHW\ncUnYfzngAr321WWFdNvcVe9NrLel4lOSwJ8YGbjcyw76jpUjmNx6ItmULJ7Z\ngNnTCgtLgAq5i6pO53nK9g+spSv+g1Wl4FO6Y3HZEL2yUPPo2v9m+esi/YD4\nmtDcLOcNwUdqBjwtXSp4/hT7kKnPmL0OFimlwajhMeVuMb6zyKmUNOeY07he\n91FgXbQOm4Ncp1BTYpkam7IoOAaaom7BBKA4wDq9/OfMaOZmTqCh+4Jnj3Fi\nNGgwFnWOCFkOra2Y0Sk+DlQHfkhAs4/QN22I1dGRv9Cd5UiHd7mFub+N/Yre\nZgCiCXBvKZMyopm2UWtHV59YdLfTkmF0uEkunuITQEKrdEoa3rz11pdzCPH6\nOr5XMvLQ1M6rOPhLJpLyr2Kl03bytfcZAVQpSaUcLq+UV4b4p67ydYCl3ZbH\nnrZt1aQMqReEksq8jaGduzswzCSTYBZxPhViwoOJWdk4osU/zVr2sqPmQavs\nqxoW\r\n=/eNF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"eval/index.js","unpkg":"dist/fun-hooks.min.js","gitHead":"f5bbc2d5d950533154b1c00915662b25912cc1db","scripts":{"lint":"eslint index.js index.test.js scripts/*.js","test":"jest","bundle":"node scripts/bundle.js --output","cleanup":"node scripts/cleanup.js","prepare":"npm run validate && npm run bundle","publish":"npm run cleanup","prettier":"prettier --write \"{.,scripts}/{*.js,json,md}\" --end-of-line lf","validate":"npm run lint && npm run test","test:debug":"cross-env DEBUG=true node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.13.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eval":"^0.1.3","jest":"^23.6.0","yargs":"^13.2.2","eslint":"^5.10.0","mkdirp":"^0.5.1","terser":"^3.16.1","shelljs":"^0.8.3","prettier":"^1.16.4","cross-env":"^5.2.0","preprocess":"^3.1.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-prettier":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.9.4_1564176625921_0.8440229496169636","host":"s3://npm-registry-packages"}},"0.9.5":{"name":"fun-hooks","version":"0.9.5","keywords":["hooks","middleware","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.9.5","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"af2ee89bf3bd8f64bf6e74a2e1f3de14fc48e352","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.9.5.tgz","fileCount":12,"integrity":"sha512-xaj0r9Ex0dvehX8MbQSK/5EYVAddyoaK2sGNuQWX8xNaCiHtr/4zD9J10Y2irkFIsuaxbYOsQBKXvTHzjO2IFQ==","signatures":[{"sig":"MEUCIQCF8mcfMefV1fzq+Q7bsEdLAbs2TPTfpgH/PnvcLyHm5wIga5knShobSyrX54eByeNDnHLqNTgEbAPo7KVMwDjSN50=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91463,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdO3tiCRA9TVsSAnZWagAA+eYQAICLaPgB+4+rEhUulQu1\nlxZTHG0BGm/RQsMQdrBO63aUaN7nposcWHcRegNuFzyP/BGzE7bSgxn+759T\nEEK5T4ZrjdPIeWFphwCimGGPj1FhgaElkDvQYjV8MBE9X+APyYE2BZPKlTDD\nUyKk0AHTvrKyYv+cMXe5C+pz613ysClvTRGGoQ0qM2QZlc5LU55uBjIUFN/6\nBf6CJcZP5pps1dwV2uBxAy4nDOYhO6xh9HycVCUrVe3XhuWIjGHSNMYN+LkF\nwa1J+2LNUwhiEsyGQuBL22t2dOfsTYSZ7Ix93DzsleenCT60pTWFA6/H6/XF\nZUVTbXUWvuAN/LJu/fXf9VQHV7W7i//t29AYopF0TWdafnJscbu6uw0XcwJt\no3gF2EFqvTjGQCAfTeda4SMcfnMMBLvofQRfc2Vx6XPCvMC/9Ut1r4jUHjn7\nRzCRfIFuaItJGgI6fEvqObPyiWGxDcYlVb+8my4rO0ayZqdiR7IIFbSVR4Mr\nwGT3VgADv6SnRac6UZLxEUOOCXIE65QefsTRG5rzrkHae2JA9yIeRCi+yLhL\nGAcjoYLq95cFw6Pskb0ljYbdn5ogwS7cHS15kbblPtnyeHI6A9ZKk+G00YM9\nu15ZzgKhpCtAha9MkaGy5tJ/8vxfBBnJI0b2lDanDNIsPo6KyCurAY9iQvvd\nz7Oy\r\n=k/C1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"eval/index.js","unpkg":"dist/fun-hooks.min.js","gitHead":"d740a9114582e7ff558f9a48f3ed04c871e98984","scripts":{"lint":"eslint index.js index.test.js scripts/*.js","test":"jest","bundle":"node scripts/bundle.js --output","cleanup":"node scripts/cleanup.js","prepare":"npm run validate && npm run bundle","publish":"npm run cleanup","prettier":"prettier --write \"{.,scripts}/{*.js,json,md}\" --end-of-line lf","validate":"npm run lint && npm run test","test:debug":"cross-env DEBUG=true node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.13.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eval":"^0.1.3","jest":"^23.6.0","yargs":"^13.2.2","eslint":"^5.10.0","mkdirp":"^0.5.1","terser":"^3.16.1","shelljs":"^0.8.3","prettier":"^1.16.4","cross-env":"^5.2.0","preprocess":"^3.1.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-prettier":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.9.5_1564179297252_0.542017470893851","host":"s3://npm-registry-packages"}},"0.9.6":{"name":"fun-hooks","version":"0.9.6","keywords":["hooks","middleware","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.9.6","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"ff1452acf05a15b11d3479474528c4db9d5ec199","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.9.6.tgz","fileCount":12,"integrity":"sha512-0+CUJWTcx/vtm3qfvb9IfILItgDAq28lEsdEzu8622ttSVfFStDQTaSpU/sn2NyFXo5dN2qwwPLcqB/CvDkacg==","signatures":[{"sig":"MEUCIBuOFC3Lj3XYfiR0Q1xr2yOQavuA8ZCFGYu3+tDZBTjMAiEA8rnuVO3lgI32BbD3FSjPzzSs/ATlCb6m65r5HTMeU40=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92990,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdaVKVCRA9TVsSAnZWagAA76cP/0AmXofSjGAFLgMvjxcP\nqj6N2DCBgASou44jgD1Yuxcp/aSQqOALVIK1d4GOuFxs2/mPr/IGct1i1SK4\n2WbEpxGiUXGt6MMZAnjbMlRZN9sHQGcC76xjdOEXnkpXUF4GUFOwEsESKmYS\npVfabP608I4U/5GH4gY9R1G3pa0fzpTTGvKS3cJ0ynFxqoQefpyXOu1FTWOB\nusgoU4140NVd/vlRfAcopNt2dlaq2pe2MnwXiHMzqjw7yu56EwRr0fHeMn0e\nmgjuq5shoVrQlmAxLX6tJD534C1cU9zDwrCQgF1kfrsSuXFFzcToxcZjQ1A+\nQX4TCsay5BPRel0udjZy57piY3d1i59JsZsHFwDp6ivQTi440rFHLJTGFNug\nf1CXBmKmpEhiHLqpEzEb0Ko9QDThe1QkW17MjKsUrajfXG31xgtGCI12Lybi\nVXpSKIelvpq/wWLkTqmyGy7aAXYWB32mDZ1Az6WIDbW6OmedlRA1TnBq0AxY\nwWlXYxtIPDCbkT2a7JUVAZngnbWuu6aznYmNJiCk2S5bI+XQQ6RSDEG3nCB6\nvD7tzGr06wdkKtvfQ6WfjkFaOymP0aiK7EXu1VsxX/7yH+tQL2De9hiGxbQP\nR+/eYKrTNH8KYBecOLOWhHfg1/4m7/MLHeFDkcPUXsgk2iT5OsYy7Gf3Lxid\n+dYF\r\n=eQWk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"eval/index.js","unpkg":"dist/fun-hooks.min.js","gitHead":"3d10a82f9f44fefd0844f4a87e2fdc60dbf2828b","scripts":{"lint":"eslint index.js index.test.js scripts/*.js","test":"jest","bundle":"node scripts/bundle.js --output","cleanup":"node scripts/cleanup.js","prepare":"npm run validate && npm run bundle","publish":"npm run cleanup","prettier":"prettier --write \"{.,scripts}/{*.js,json,md}\" --end-of-line lf","validate":"npm run lint && npm run test","test:debug":"cross-env DEBUG=true node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.4.1","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"10.15.3","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eval":"^0.1.3","jest":"^23.6.0","yargs":"^13.2.2","eslint":"^5.10.0","mkdirp":"^0.5.1","terser":"^3.16.1","shelljs":"^0.8.3","prettier":"^1.16.4","cross-env":"^5.2.0","preprocess":"^3.1.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-prettier":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.9.6_1567183509120_0.6091103101481321","host":"s3://npm-registry-packages"}},"0.9.7":{"name":"fun-hooks","version":"0.9.7","keywords":["hooks","middleware","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.9.7","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"9998473cf33bdd71938409044c1fb46d0b60e71c","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.9.7.tgz","fileCount":13,"integrity":"sha512-2G0S9op/u+Ye/IJVPS++bs8oDuC/x7MpTKPkJ85U0PBfocJYd+f8WQRN1gqaCa2egKwjOOtXYVFcu0ksns+lWQ==","signatures":[{"sig":"MEUCIQDyy92I21qoPmJLSy1iZBnVBVePC04IR4R5LuTUnUsZcAIgX//xDQQJ3i5QS8ieBPL6jkXf7fChqi1ZWdnd1kA/6k0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":95166,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd2ILyCRA9TVsSAnZWagAAlxcP/RsZagxwZ7sSbIZwyA9X\neFyBQUBk2E9UCkfvTbzDJD0sRJZT3VYNoDSbHPR0C6IQ2r6wG7e+SVScAIeo\nKC176XtTmS9I85h+J1D8v3rAv2SSghLrf1db6C5Cg79Q9cGUG92Lqiqs/k+p\nVHpD6dC9Nx0xyrEF9sam+FJrn+lPJcPWpAVBY1xDekBeiGEKn/6iTl++U2Tc\nBCSszaQ2Fqgte9ScLMJr8tyB2KHkVtFoMcvcf+T9Brb5ldC5ikn2jQj1e0YM\nz0BbS8brY0JPE5LKC8lLwR32tesKKvrpF1IL3UsYXKhefN6AVBHRdojNCYxC\nqMBA71AEetktNHC5d9sKMNU5p258bymq15jKyWpeQD/Q0KOEyW2d38pVa35E\nYTzk00MGKTsgCfyBiK9Ti4t29eJyrOtAIYNMxWW//Ac3s8pORiDRtEOD+idQ\nE8ErMlAJFp83I4WvJxjl8VVIWZ+LZ/h+H8TDlUBt2ncgHN3zom3FTZvkctdt\nMPNmBXtX4K6F9kI6z7/a4TmRmmh37Jlv4Fd1BqLglEoRpWhrhSKLSpo2wUNM\nYjrckuIEyO7in3GhW8nK3kxa5SjBOXpWzt7FnG082uQ+AyGLUrazFv6PGYvi\nAzYRhIuL4SXyLSKFJZmGpHnD0qx6yh0QaAjNX/SkLvj9yVFs6xKDtFAijCWG\nc8db\r\n=JJK7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"eval/index.js","types":"index.d.ts","unpkg":"dist/fun-hooks.min.js","gitHead":"9880d781d475958c8c7e8f9a74cddabcf1914584","scripts":{"lint":"eslint index.js index.test.js scripts/*.js","test":"jest","bundle":"node scripts/bundle.js --output","cleanup":"node scripts/cleanup.js","prepare":"npm run validate && npm run bundle","publish":"npm run cleanup","prettier":"prettier --write \"{.,scripts}/{*.js,*.d.ts,json,md}\" --end-of-line lf","validate":"npm run lint && npm run test","test:debug":"cross-env DEBUG=true node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.12.0","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"12.13.0","dependencies":{"typescript-tuple":"^2.2.1"},"_hasShrinkwrap":false,"devDependencies":{"eval":"^0.1.3","jest":"^23.6.0","yargs":"^13.2.2","eslint":"^5.10.0","mkdirp":"^0.5.1","terser":"^3.16.1","shelljs":"^0.8.3","prettier":"^1.16.4","cross-env":"^5.2.0","preprocess":"^3.1.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-prettier":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.9.7_1574470385620_0.3626399066187018","host":"s3://npm-registry-packages"}},"0.9.8":{"name":"fun-hooks","version":"0.9.8","keywords":["hooks","middleware","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.9.8","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"7103beb4a5011697343eabe7b2f92769789087ca","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.9.8.tgz","fileCount":13,"integrity":"sha512-FZUHodONJBOCCETXnHTSvqnz+pLZiN2ZqbOZsjXIqJRI8AbvTqOJzDTEeMfPzFf8rPuSZnD5EPcbl7yZsEQ/NA==","signatures":[{"sig":"MEQCIHKkQh9zj+s88gWs+PpnVirKekyOiZclgBaHj1yEn77IAiBrOZ1IcJAWXdubzLaSJi8g463OItLSf6FqE72YyBOhaQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":95298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHQXECRA9TVsSAnZWagAA3HsP/RdWO9DvnGL+BwA1y4Uo\nEti1tG84u2CPx6x4bUclc5unC/BQW4gmzAXr4QNI17fMGZAIdNd3Cqc9CdlK\nl3OCQEB0ZLHsOUQ9yHUHKASGPkISGz7+hykXmFTwE7iu/FPn+b8sAz/8a7jE\nE84xeBJVGYAI1dqOMtBoOe8cw71KcWYixZZtDgvFmkXmZTOJ7eOAic6IXm9p\nMdyoluvDZdyiFp78WHLmV0PIdH4HmswGeWuweJVQ8EMq/AAWjTzD99jQhgrd\nJb1WSxWU4+bzoZLUqPfw6a1bHU1g/l8GSVuaaBSN2KhsU5S9/tvZve2BRiwE\nKhwWS80at3Pe6ADpx9eCaRnxvcpJ5d3PaCe0PlwPCwDga5OJt3mOzSPuVVIh\nSRbwRNOaHYzWl6rhR+D/TOHFSgX5jcWeCRz+RVteIZJpHb+4zl6Gp1w5tKK6\nZ09yJGrgXZBPVds3YSmmac/4drZ7KPvrWBZ6u9sV7dOVdfK+OqHRC6lpIZ9P\nE2QlYWZBRfXlnUV7rb3xNdDoDh2x/Zu+TijA7pP0aWkKk/vh88XoQVKxXfJv\nGVBx3m+f3uZOCUbapqEsYE+iJ93BEugtC9Dydx3ms4bMpVTRrYrf5i+Yy5vi\nLOhq6rO20okM93dyyTwRT1DbOHaWPdVT6KgIjKVJ926iM2XmQVPCKNm6mMWj\nWFul\r\n=rXDz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"eval/index.js","types":"index.d.ts","unpkg":"dist/fun-hooks.min.js","gitHead":"327e83eac2505bb76cc0f15e044bca9eb9b05328","scripts":{"lint":"eslint index.js index.test.js scripts/*.js","test":"jest","bundle":"node scripts/bundle.js --output","cleanup":"node scripts/cleanup.js","prepare":"npm run validate && npm run bundle","publish":"npm run cleanup","prettier":"prettier --write \"{.,scripts}/{*.js,*.d.ts,json,md}\" --end-of-line lf","validate":"npm run lint && npm run test","test:debug":"cross-env DEBUG=true node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.12.0","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"12.13.0","dependencies":{"typescript-tuple":"^2.2.1"},"_hasShrinkwrap":false,"devDependencies":{"eval":"^0.1.3","jest":"^24.9.0","yargs":"^13.2.2","eslint":"^6.8.0","mkdirp":"^0.5.1","terser":"^3.16.1","shelljs":"^0.8.3","prettier":"^1.16.4","cross-env":"^5.2.0","preprocess":"^3.1.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-prettier":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.9.8_1578960323599_0.8708282147176205","host":"s3://npm-registry-packages"}},"0.9.9":{"name":"fun-hooks","version":"0.9.9","keywords":["hooks","middleware","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.9.9","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"225481b58d8f805db0704e06f78cd76942ae1c45","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.9.9.tgz","fileCount":13,"integrity":"sha512-821UhoYfO9Sg01wAl/QsDRB088BW0aeOqzC1PXLxSlB+kaUVbK+Vp6wMDHU5huZZopYxmMmv5jDkEYqDpK3hqg==","signatures":[{"sig":"MEUCIEE+5AjXym0AXuJjD8ACp0upg6e0/cGFXdYgivb+DIgWAiEA9005zW3wYIqT5JV4KpC4BXESUIm/vq8Pcw3XLkXbM5A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":96971,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJev0NeCRA9TVsSAnZWagAAmc4QAIit+oro6Hc0CgIRwLTp\nVeeNvTzcP6ebc1G3CYXNWl9WnCH9SWw5jalqRs6F/hJ3bp1oLn44M+2nB7aB\nw+SwHFurmGRo0B/7T5P85qpwyC3WikjxKuWCax4PwD254cp9rvy34Q8X9pux\nwKiHTt41JwwvNaV9Ke0NDwJGQXgU835gOAS5Nl42l+k+GZhpOmN9Fq5ZyD/Y\n4/0i32YsgqZqsGxX4kxK88vIL098//78HVEVDdVyspCBQ//dj2dy0RpH6s+T\nNZ/6DYAEt2XAog4uljexKSZD5ohZ/CfeX2P4Lcx6mrGfTD3WGG5q4WCuCEf7\n7GfO8S0cTPh2PcRgJkMk1S46i0KzNyd3keVRvshRSsJG1nWo0CCX9zaqgVn2\nIXFPR/GhkQelG+gfd6LWX1MGRgI8VnR2x8fdGHcxbxlQxreJczg8Oqmx2ZyR\nd9UwhoEaXzvp1CqsB73Sj8YkoGBXnVaqSUdnCtXuOivmWSkr6ONRbt4XzCJA\nj2oGJrnQIbZ1i8qDQdJXWq8SbKZPTP2t97mjq56XTEZUkViOlZwcRwCzA2Wp\nCxyk55Vjjbp6jpzqNFqW9WsQA0HYVku1w4CpuxJ50k2nONn5r/NpRFVC39MX\nqV/nmyr+5E/fDEMidWW+WriLMPpqV9cIzHD+IVKQrnp8q6CDTJLVUSF3uBGc\njWj7\r\n=7x6c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"eval/index.js","types":"index.d.ts","unpkg":"dist/fun-hooks.min.js","gitHead":"825ffdfca23aca7fbf313d1c23b99796c310b935","scripts":{"lint":"eslint index.js index.test.js scripts/*.js","test":"jest","bundle":"node scripts/bundle.js --output","cleanup":"node scripts/cleanup.js","prepare":"npm run validate && npm run bundle","publish":"npm run cleanup","prettier":"prettier --write \"{.,scripts}/{*.js,*.d.ts,json,md}\" --end-of-line lf","validate":"npm run lint && npm run test","test:debug":"cross-env DEBUG=true node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.13.4","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"12.14.1","dependencies":{"typescript-tuple":"^2.2.1"},"_hasShrinkwrap":false,"devDependencies":{"eval":"^0.1.3","jest":"^24.9.0","yargs":"^13.2.2","eslint":"^6.8.0","mkdirp":"^0.5.1","terser":"^3.16.1","shelljs":"^0.8.3","prettier":"^1.16.4","cross-env":"^5.2.0","preprocess":"^3.1.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-prettier":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.9.9_1589592925918_0.5159986081700674","host":"s3://npm-registry-packages"}},"0.9.10":{"name":"fun-hooks","version":"0.9.10","keywords":["hooks","middleware","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@0.9.10","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"3f123f990899f1933ca24492b97bd4989b18ee76","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-0.9.10.tgz","fileCount":13,"integrity":"sha512-7xBjdT+oMYOPWgwFxNiNzF4ubeUvim4zs1DnQqSSGyxu8UD7AW/6Z0iFsVRwuVSIZKUks2en2VHHotmNfj3ipw==","signatures":[{"sig":"MEUCIHs/OHJOq5cyT4N629niC0l5u1erwVjA0yv8+ERQAHv0AiEAuNn3z/OaGpe20B3LMzSVrvIDEkCQheF00wYinQmGE3I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":97358,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgRB2ZCRA9TVsSAnZWagAAZJsQAI7mATeJC+W1bh3ysD5f\n+BlgCII7g0xoGZ25e6bhbUpR/S4t0nTG+WOTzMyD9A72zzIzWYIxPybH3WvP\n19Afi/PiME1L4Zz7Ti0wltdfAB2jy0A6QQ37bHUlIHfaPQllOHNf/6gxSarP\nIOuSiUo+cPV/um07K+O/QdxKMcpMHPeyttOD7RJuuUV1JIi8+N6/PBU5Iiqo\nRX3zN5w+MIpl/VyUPbBo0MUuXZjZDzK9ubRLL4lLSa6xMc5yb81UW2KnSAuW\n+SO/3fhyWARdZygHmLv3tuFUVFOq52xjznywctLp9AqnOKie2QVI5hDzET4o\nZ4G7non+Vu3be29C1Gpa+e6ZVcmHRp7hFSFeygSSxwQIUMQD+qoG2iFVe8Cq\nJb5l1XW/luXQ8j+V9uhRH3xOQxOF0nE0zzaM5WU8jSviKRHxzv+62s/Upnkn\nsbtJcglrp3sC8PDOBQ7PXdA4U5D4HR+NGomasNZlaUHThdVEReL8bBQYYUEL\nqgCexSesgS0FG+3Q8DvBoJO7I9KM3s+O4hyFQo/0B2Q3tcemK+9G4gzmf1b+\npvGR5CEf6y9s56eeTt9gNRnHehjVe9IfSfIEWHo9pv/RPgpja/HoHDkiYR9J\nBDA4LCSGg6P6oH6G1YO0VMKI8dKmEOGvM2qxP2awhvI+Y4Vbu08Zz7xwdbL2\nDYbA\r\n=ErOu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"eval/index.js","types":"index.d.ts","unpkg":"dist/fun-hooks.min.js","gitHead":"a82df6cdabe3faf3680ea2a1110ce834987c8f6b","scripts":{"lint":"eslint index.js index.test.js scripts/*.js","test":"jest","bundle":"node scripts/bundle.js --output","cleanup":"node scripts/cleanup.js","prepare":"npm run validate && npm run bundle","publish":"npm run cleanup","prettier":"prettier --write \"{.,scripts}/{*.js,*.d.ts,json,md}\" --end-of-line lf","validate":"npm run lint && npm run test","test:debug":"cross-env DEBUG=true node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.14.10","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"12.18.4","dependencies":{"typescript-tuple":"^2.2.1"},"_hasShrinkwrap":false,"devDependencies":{"eval":"^0.1.3","jest":"^26.6.3","yargs":"^13.2.2","eslint":"^6.8.0","mkdirp":"^1.0.4","terser":"^3.16.1","shelljs":"^0.8.3","prettier":"^1.16.4","cross-env":"^5.2.0","preprocess":"^3.1.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-prettier":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_0.9.10_1615076760741_0.820558923933465","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"fun-hooks","version":"1.0.0","keywords":["hooks","middleware","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@1.0.0","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"585c4f0f308b0f74f4f66dfca37e8e672cc1dd54","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-1.0.0.tgz","fileCount":13,"integrity":"sha512-Pq1LwiLGCioO6StVezcV8HXctDQ/bMvt2ZmuMbAUVSPy8ngPJd29UeyIuNJKkevOYlOb3N1gLfCl2pAeSqYf5A==","signatures":[{"sig":"MEYCIQCXFaF2Sloc/mRaO4CPbYLwd8umcXcWyUTic+pYDiIaLgIhAO6uaKDOsEZQiOH5zJ5E7k7uXZ5mu1h9D5bx3de0XTzo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":86471,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgRC38CRA9TVsSAnZWagAA1ZcP/18LZxp4pNO43auIYzh8\nJ8gSAO2Ad7G4qYlYPhP3ugX+c/uacKDH5rXrVzaSEEgJpXUl0FonJ3JdLG4i\nbT7oy7OE3Al39jvl+y0dUYlU0wjZBpVH+2f2nRc77su4/IurIT4v6yIZnzHK\n+ghIRVB6wxhIodwMI1mppAgckNZ/l3UimWkFsR7PubdhM7FHAX39A+BGfcUx\n4tGtj1w4GynoJyBYuqKHlPaBt6t3GRKKWKMl/0Dbk77desKwJsRMZXuCmwWG\nSAnAPltay5YZsVpry/uOodY9gpZ1zXfjyPG0cuFCrjqllWVPHxJj30TD0tTb\n/f9yB+YRpLbyk35nynsDVi2bawOVSWzwY80FYRkWcwHZvLmqu6UZC5GfvhpB\nFZNOjvn0ISZB+QZoSFdJbkyc2EMgvWKa0FGxBynQ6aBEJOtIR1cuYILz3BWI\n7gl0kT8cCJnfDeovWtG878HlWL4rHA9/k/NOpTq0SaQFkltr0gevHHFoJ0+d\n4mu96K06Y3tbR/XFO/970HD2IhQoWZbdeb2Y3ZBXRNpzQdHDXw0Mo2+lmRPQ\nzlGEjw6iLOOtVD7o03NFKSN7qFzdUcRZ3nGx+G8SVWlWn+5r0xqCMLOdvOJI\nrlZ1gJK0N5QKZRLhR6qVKL2i5i4n7KtKi2wLtVNBX1KTZmEeByDRhVbyCo1L\nK/BM\r\n=1CAG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"eval/index.js","types":"index.d.ts","unpkg":"dist/fun-hooks.min.js","gitHead":"e6154c11d18ddaa10e5efb340f65e5cba8d76852","scripts":{"lint":"eslint index.js index.test.js scripts/*.js","test":"jest","bundle":"node scripts/bundle.js --output","cleanup":"node scripts/cleanup.js","prepare":"npm run validate && npm run bundle","publish":"npm run cleanup","prettier":"prettier --write \"{.,scripts}/{*.js,*.d.ts,json,md}\" --end-of-line lf","validate":"npm run lint && npm run test","test:debug":"cross-env DEBUG=true node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.14.10","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"12.18.4","dependencies":{"typescript-tuple":"^2.2.1"},"_hasShrinkwrap":false,"devDependencies":{"eval":"^0.1.3","jest":"^26.6.3","yargs":"^13.2.2","eslint":"^6.8.0","mkdirp":"^1.0.4","terser":"^3.16.1","shelljs":"^0.8.3","prettier":"^1.16.4","cross-env":"^5.2.0","preprocess":"^3.1.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-prettier":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_1.0.0_1615080955616_0.5616575730729307","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"fun-hooks","version":"1.0.1","keywords":["hooks","middleware","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@1.0.1","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"1786b1c3dcc4c88ab3ab0c8f116dcf2a6091ee0c","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-1.0.1.tgz","fileCount":13,"integrity":"sha512-ONXGMAbvTptuC7guP9NSo3k0USsaHuzyVFNSAhVQL8YZxvstRBnpCPkawnsw8YdlURmCYHfXx7BmDI0iiRiJ0w==","signatures":[{"sig":"MEYCIQCewuK3FT1ip2CHKV8OnCVcCqkgMa4gpMtlFK/Y4BZSKAIhAK0tIo8ysQHyhewByAsVng6sYsR0t1tzwtM60y5BRlXa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":86908,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgRFEXCRA9TVsSAnZWagAAf+MP/jQXCjVjk6ghmt1aZ68e\nJp89uhHdrPUnPCkijLLL6yijvFITrZHiqpZt/YnO6yeVE4C79Jc4XN9LztJe\nMOVT0xHIhM3Ix2a1ZQu3fWA16CaFNMBbFR7otJVPcZsSHfNHb8P6WnzoVFh2\nVF+5rjK/TRc06Hp0Wbu5zJQGg1NjSz/VVV4MXwZbypRvf71/Dc2pXWw2cpqt\njYQyir0p56UlKfrlQ1bGRs37jNwnormeKFuBTv9+RtjEOfb5p0fPkgAWthIr\nDw2TLVbL6G8FpRuQShWO2sj9DZ+V82XMGCv5HQaKjBQ6w+DanlXwx2CvkrvN\nsN5qWyp5OdiH7h2z4cWoU72iC5hyEkGQUDcjq6hyrlahbigUW+ZT5zsVkRR0\nnV3RC5wsUFz78MI3pCStqbZjEzeHAFuOoXR1KHA9op6DyjVc4pbpb3HHKT4V\nFJdn1GgwSfg0eTu5wuL9Tb9MoWUBOVBW8H8tQaGDKNBTiwy4qp4WpRiDe0sy\nnjRN791rg2hEUpAuZylYiCzuWu/Uw/aEehWB+C2Aeut/xYmMlVlZ8f1+aXeU\nRfMCMBMxmDbIrJ44EErRgLO96nQ6Wzs0/LZuUWr4QlMymX4fr5ki61DaFaFf\noh8ldzBwcZCDQqlUemDVkdf+o52QsoQ/i0i/7aYdQULDlCk5o5P/uJ3vCgiT\nM8aI\r\n=9P3F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"eval/index.js","types":"index.d.ts","unpkg":"dist/fun-hooks.min.js","gitHead":"1106460008608c3bf9465a72ccf7ba2412a9a3ec","scripts":{"lint":"eslint index.js index.test.js scripts/*.js","test":"jest","bundle":"node scripts/bundle.js --output","cleanup":"node scripts/cleanup.js","prepare":"npm run validate && npm run bundle","publish":"npm run cleanup","prettier":"prettier --write \"{.,scripts}/{*.js,*.d.ts,json,md}\" --end-of-line lf","validate":"npm run lint && npm run test","test:debug":"cross-env DEBUG=true node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.14.10","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"12.18.4","dependencies":{"typescript-tuple":"^2.2.1"},"_hasShrinkwrap":false,"devDependencies":{"eval":"^0.1.3","jest":"^26.6.3","yargs":"^13.2.2","eslint":"^6.8.0","mkdirp":"^1.0.4","terser":"^3.16.1","shelljs":"^0.8.3","prettier":"^1.16.4","cross-env":"^5.2.0","preprocess":"^3.1.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-prettier":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_1.0.1_1615089942561_0.2186892390142201","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"fun-hooks","version":"1.0.2","keywords":["hooks","middleware","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@1.0.2","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"3eeea4d1c9a94ea2c667707b071d24b3d1cd0bf6","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-1.0.2.tgz","fileCount":13,"integrity":"sha512-36ghiVU0gDrPZatX1X2DDpu1gVPmGzqLQVtzDHLBLJQqTQev24EonRii7zFWW0NfNGCZ43osOnSUTl86eduxKA==","signatures":[{"sig":"MEUCIBdodpNZkM06p/qRHdNqrbSOdSeP+9avd0MZ6cllhw3zAiEA2PV1ruc1l7LDxC0CNtv92+B6rKRwHIE/NX4TloLvRsc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgRTGlCRA9TVsSAnZWagAAMUYQAICk8HCAAKUNJCbjicO5\nBqQawJHNVMbLcPeKJLXjwB+PJYgCy13HTCg+tX8oNF0GEbhg1TVU/43MeETJ\n2III6ubsQok2C7Z3fwI9H5IAYtWVovkNpLvnMNKC/Hj1I5KPy3An0m8yWxoI\nQY3vigsAP1PrClksOH03A5h80bi+A9fI+MtyTGrBEfUKsPXiRx+tp53kKwct\nSWydETRG3/zUEAkSl7hGh8vwv1FLBj9ZaDLj4yr55bJ4Rmwu90rX2vf5Os/m\nDRWl45gCHEQj6xs9k6HmuybKw/mcSnXJhzbHjiWi2FuOw6H1tqln9hQ2bkkx\n5mcOZVLJPgaYl4Eh+XEoueLmxZLV4o82oOKe0gsF9O4TfGYMWf7xdFBTMmnj\nUR7Tzs5g/9pzWq7QyyAYEktIlbCk6cnhTFAW1/3P35ZjK//1qyTxDwb9k2yX\nCK2OuZjPw0bAP1r+gLG8eq77We5Xm61OW9yAGeCfRbe9HlpcNgn1eta5sTjO\nxYk+bI0aubFT0jma6/bMw1j7y6Z9PUEofgn7IubL6QVvheuOEaLGzOxHgxfk\n12nxWcJY3iGSe4/ZP0eP+amVKEoIH0ZY9HjNr4yekoReFwkY/nrVEjoxUPeR\nKSHwjWlE2zwtBzx6yyLGqwrnIjnByRVeTob996aXg5D1EejS3txDZE/slPYP\ne/OU\r\n=rY6Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"eval/index.js","types":"index.d.ts","unpkg":"dist/fun-hooks.min.js","gitHead":"1bbf1158ad0d1308de802d14efa7ecc5bf77a229","scripts":{"lint":"eslint index.js index.test.js scripts/*.js","test":"jest","bundle":"node scripts/bundle.js --output","cleanup":"node scripts/cleanup.js","prepare":"npm run validate && npm run bundle","publish":"npm run cleanup","prettier":"prettier --write \"{.,scripts}/{*.js,*.d.ts,json,md}\" --end-of-line lf","validate":"npm run lint && npm run test","test:debug":"cross-env DEBUG=true node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"6.14.10","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"12.18.4","dependencies":{"typescript-tuple":"^2.2.1"},"_hasShrinkwrap":false,"devDependencies":{"eval":"^0.1.3","jest":"^26.6.3","yargs":"^13.2.2","eslint":"^6.8.0","mkdirp":"^1.0.4","terser":"^3.16.1","shelljs":"^0.8.3","prettier":"^1.16.4","cross-env":"^5.2.0","preprocess":"^3.1.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-prettier":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_1.0.2_1615147429206_0.23417846768753336","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"fun-hooks","version":"1.0.3","keywords":["hooks","middleware","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@1.0.3","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"47e6c20f99869083bb9f0e8c7da80217f696998e","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-1.0.3.tgz","fileCount":13,"integrity":"sha512-5Dqlj/33KK1iwjyuXh9z2MMZb/7/SbTKOnwjKem1K9V8rAulV91IsygrbFNZW4n2TKIyaAbTfMtcIonkeSaxfQ==","signatures":[{"sig":"MEUCIA/AxGytumbsfeDOtzuP6oEmsVnWiaetlQLf7xF43esGAiEAiBKryWR+FILTnMgtJ4XlIQkRh/53nNz8HO3sMFfhcRE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":85422,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJipNLXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVdw//eYtf2FOggpiF+fuEDsxL/qU7FlkYmMd+tbhFrmMgywD0h5s2\r\n7pcFjb7TwCOISSxhHDNSzIIytjUZPUWle5LL1R7eTtYdxFAypwukfwm3bsDu\r\nhhruKGhEd2yDj/ZN4QBUbJfnVgEVK2TPOsKHlsYwSeq+F7Tom5Bau117kM8R\r\nGRuXXkP9xhLlGNmsUp/3nq+IY/p89V+/zd+Qv3Q88SGTq7yaopk7zy/VGcHg\r\nCRNfxmCzBee9xYnDl2pA8adME499RTuMCAfthQ+RUqtanicLySU9tb75HOUd\r\nVN+XOZORgOeuw52hJC7G+ZtZO7GRBfa02lHI8cLvXbbx7kfosS0ij7xHFaxu\r\n3nbjrHZtpeEbHcGJkQUHs5h33y6MlgBChyYNuHpJPaNW6jXBZj4/CJzj8EqZ\r\nftK+wfSNNWPrMOtZz+ax/tlgE7J6lOsX2Rmmu9VsGxAggKSLh/i0E8e9z2CD\r\nvH2L1iLPdEsrCU7D8KhGULjB5ljSjq7DSTgO1OsNujtj8t2cfqk7vR/7Tep7\r\nEcL9UGXz25+GkVj8v2QIMcLihB7uBSHR8sxpeHaCWdLNzBkxiR3KcHccDJ9y\r\n8LmnkrpRJCNzr/XJ36A44rwNvBk6HWvFOFqIHcrzYgSY43oa4R04gzWgIJ0C\r\nNJTSnfloHNNhM83JWc+GZ+Z+EIQ3+zXtzHs=\r\n=Bxcl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"eval/index.js","types":"index.d.ts","unpkg":"dist/fun-hooks.min.js","gitHead":"88351b8f87439d24ddf8a7778f03e98c7aaa017e","scripts":{"lint":"eslint index.js index.test.js scripts/*.js","test":"jest","bundle":"node scripts/bundle.js --output","cleanup":"node scripts/cleanup.js","prepare":"npm run validate && npm run bundle","publish":"npm run cleanup","prettier":"prettier --write \"{.,scripts}/{*.js,*.d.ts,json,md}\" --end-of-line lf","validate":"npm run lint && npm run test","test:debug":"cross-env DEBUG=true node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"8.5.5","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"16.15.0","dependencies":{"typescript-tuple":"^2.2.1"},"_hasShrinkwrap":false,"devDependencies":{"eval":"^0.1.3","jest":"^26.6.3","yargs":"^13.2.2","eslint":"^6.8.0","mkdirp":"^1.0.4","terser":"^3.16.1","shelljs":"^0.8.3","prettier":"^1.16.4","cross-env":"^5.2.0","preprocess":"^3.1.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-prettier":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_1.0.3_1654969047059_0.967489726952564","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"fun-hooks","version":"1.0.4","keywords":["hooks","middleware","before","after","pre","post","wrapper","plugins"],"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","_id":"fun-hooks@1.0.4","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"homepage":"https://github.com/snapwich/fun-hooks#readme","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"dist":{"shasum":"ec9c4b9dcd57a4d342c6b2a68c792ebfa9a1a149","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-1.0.4.tgz","fileCount":13,"integrity":"sha512-panvyzQKSYMdXmn9sFrU53xdt5BOyETN2XSQMXPOPRdrWS/w9fsZLSBxKfp204mdQBC5kF3Vsm8SMXSMVggmyg==","signatures":[{"sig":"MEYCIQCfAMYfOcUMkLB29XtFr9j6NDUFZefmxpl1R90st6XOhAIhAOU/8JpGZayA5Jc0bk5mSe4tmUKeeyXOAzkckSIio8a0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":85356},"main":"eval/index.js","types":"index.d.ts","unpkg":"dist/fun-hooks.min.js","gitHead":"d6dc7625983ba3f3db44fe8eecb8cb42120f6f0f","scripts":{"lint":"eslint index.js index.test.js scripts/*.js","test":"jest","bundle":"node scripts/bundle.js --output","cleanup":"node scripts/cleanup.js","prepare":"npm run validate && npm run bundle","publish":"npm run cleanup","prettier":"prettier --write \"{.,scripts}/{*.js,*.d.ts,json,md}\" --end-of-line lf","validate":"npm run lint && npm run test","test:debug":"cross-env DEBUG=true node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand ."},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"repository":{"url":"git+https://github.com/snapwich/fun-hooks.git","type":"git"},"_npmVersion":"8.5.5","description":"A generalized and simple hooking API for adding extensibility to applications","directories":{},"_nodeVersion":"16.15.0","dependencies":{"typescript-tuple":"^2.2.1"},"_hasShrinkwrap":false,"devDependencies":{"eval":"^0.1.3","jest":"^26.6.3","yargs":"^13.2.2","eslint":"^6.8.0","mkdirp":"^1.0.4","terser":"^4.8.1","shelljs":"^0.8.3","prettier":"^1.16.4","cross-env":"^5.2.0","preprocess":"^3.1.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-prettier":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/fun-hooks_1.0.4_1685306487212_0.6624532306091369","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"fun-hooks","version":"1.1.0","description":"A generalized and simple hooking API for adding extensibility to applications","author":{"name":"Rich Snapp @snapwich"},"license":"MIT","keywords":["hooks","middleware","before","after","pre","post","wrapper","plugins"],"main":"eval/index.js","types":"index.d.ts","unpkg":"dist/fun-hooks.min.js","scripts":{"test":"jest","test:debug":"cross-env DEBUG=true node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand .","lint":"eslint index.js index.test.js scripts/*.js","prettier":"prettier --write \"{.,scripts}/{*.js,*.d.ts,json,md}\" --end-of-line lf","bundle":"node scripts/bundle.js --output","validate":"npm run lint && npm run test","cleanup":"node scripts/cleanup.js","prepare":"npm run validate && npm run bundle","publish":"npm run cleanup"},"repository":{"type":"git","url":"git+https://github.com/snapwich/fun-hooks.git"},"dependencies":{"typescript-tuple":"^2.2.1"},"devDependencies":{"cross-env":"^5.2.0","eslint":"^6.8.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-prettier":"^3.0.1","eval":"^0.1.3","jest":"^29.7.0","mkdirp":"^1.0.4","preprocess":"^3.1.0","prettier":"^1.16.4","shelljs":"^0.8.3","terser":"^4.8.1","yargs":"^13.2.2"},"_id":"fun-hooks@1.1.0","gitHead":"2248f61a343b13dc0d9c65e52bed01542a6d6be8","bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"homepage":"https://github.com/snapwich/fun-hooks#readme","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-LTpm8ayq0ZgrrK0D/Fk+2cgCgkpLppsGKtQIdZBg/5ncKXTGPKuYz8DBG+z8FVCDsJM1DtnYGy4FfSYRLnWbsQ==","shasum":"9ca0c70094d228b1274aff53d269209272cf9609","tarball":"https://registry.npmjs.org/fun-hooks/-/fun-hooks-1.1.0.tgz","fileCount":13,"unpackedSize":85685,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCwNTuP4uO6k8mw7zzepKKSxx5a4lpteCFf770LKDOB5QIgG3WaB1eaYJQqgjX+Zil058DyMYjplAtkRCk9vvkBWew="}]},"_npmUser":{"name":"snapwich","email":"rich.snapp@gmail.com"},"directories":{},"maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fun-hooks_1.1.0_1749331475876_0.08055482193826835"},"_hasShrinkwrap":false}},"time":{"created":"2018-12-13T21:24:44.556Z","modified":"2025-06-07T21:24:36.586Z","0.0.1":"2018-12-13T21:24:44.706Z","0.0.2":"2018-12-13T21:28:59.773Z","0.0.3":"2018-12-13T21:52:18.719Z","0.0.4":"2018-12-20T17:51:01.621Z","0.1.0":"2018-12-20T18:46:02.214Z","0.2.0":"2018-12-21T00:13:25.096Z","0.3.0":"2018-12-21T01:15:57.702Z","0.4.0":"2019-01-14T19:02:39.220Z","0.4.1":"2019-01-14T19:27:32.222Z","0.5.0":"2019-01-16T22:10:34.930Z","0.5.1":"2019-01-18T23:12:29.069Z","0.6.0":"2019-01-23T21:05:51.460Z","0.6.1":"2019-01-23T22:09:39.476Z","0.6.2":"2019-01-23T22:21:26.698Z","0.6.3":"2019-01-23T22:31:14.265Z","0.6.4":"2019-01-24T04:03:51.415Z","0.6.5":"2019-01-24T19:53:19.814Z","0.6.6":"2019-02-11T19:47:51.623Z","0.7.0":"2019-02-11T22:52:52.346Z","0.7.1":"2019-02-11T22:58:07.859Z","0.7.2":"2019-02-12T17:24:04.082Z","0.7.3":"2019-02-12T17:36:16.154Z","0.7.4":"2019-02-14T21:07:37.963Z","0.8.0":"2019-02-21T04:30:40.173Z","0.8.1":"2019-02-21T23:11:10.768Z","0.9.0":"2019-05-09T20:01:46.719Z","0.9.1":"2019-05-09T20:28:07.276Z","0.9.2":"2019-05-09T20:55:30.756Z","0.9.3":"2019-05-16T21:42:39.609Z","0.9.4":"2019-07-26T21:30:26.073Z","0.9.5":"2019-07-26T22:14:57.392Z","0.9.6":"2019-08-30T16:45:09.233Z","0.9.7":"2019-11-23T00:53:05.772Z","0.9.8":"2020-01-14T00:05:23.751Z","0.9.9":"2020-05-16T01:35:26.037Z","0.9.10":"2021-03-07T00:26:00.909Z","1.0.0":"2021-03-07T01:35:55.877Z","1.0.1":"2021-03-07T04:05:42.718Z","1.0.2":"2021-03-07T20:03:49.380Z","1.0.3":"2022-06-11T17:37:27.243Z","1.0.4":"2023-05-28T20:41:27.400Z","1.1.0":"2025-06-07T21:24:36.081Z"},"bugs":{"url":"https://github.com/snapwich/fun-hooks/issues"},"author":{"name":"Rich Snapp @snapwich"},"license":"MIT","homepage":"https://github.com/snapwich/fun-hooks#readme","keywords":["hooks","middleware","before","after","pre","post","wrapper","plugins"],"repository":{"type":"git","url":"git+https://github.com/snapwich/fun-hooks.git"},"description":"A generalized and simple hooking API for adding extensibility to applications","maintainers":[{"name":"snapwich","email":"rich.snapp@gmail.com"}],"readme":"[![Validate](https://github.com/snapwich/fun-hooks/actions/workflows/validate.yml/badge.svg)](https://github.com/snapwich/fun-hooks/actions/workflows/validate.yml)\n\n# Fun Hooks\n## Installation\n```bash\nnpm install fun-hooks\n```\n\n## Motivation\nFun(ctional) Hooks is a generalized and simple hooking API for creating runtime extensible applications. This \nfunction-based approach operates on functions themselves rather than object methods to be fully compatible with purely \nfunctional code, but still maintains some convenience operations for dealing with object-oriented code.\n\nThe goals of this library are the following (in priority order):\n\n  1. [Easy debugging](#debugging)\n  2. [Performance](#performance)\n  3. [Simple but powerful API](#usage)\n  4. [Limited footprint](#footprint)\n\n### Compatibility for older environments\nIf you will be running fun-hooks in an environment that doesn't support the use of [Proxy](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy#browser_compatibility)\nobjects or you are using MooTools, Prototype.js, or some other old school js library that incorrectly patches Array and \nFunction prototype methods, you should use the latest [0.9.x version of fun-hooks](https://github.com/snapwich/fun-hooks/tree/legacy/0.9.x) \nthat includes the appropriate compatibility polyfills.\n\n## Usage\nHooks follow the same format whether they're `sync` or `async` and whether they're `before` or `after` hooks; however, \nit's important to remember that `sync` `after` hooks act on the _return_ result and `async` `after` hooks act on the \n_callback's_ arguments.\n\n### Configuration\n  - **ready** : number - (Optional, default: **0** (meaning no `ready()` call required)) See [Ready](#ready).\n```javascript\nimport funHooks from \"fun-hooks\";    // es6 (using webpack or babel)\nlet funHooks = require(\"fun-hooks\"); // or in node\nlet funHooks = window.funHooks;      // or directly in browser from somewhere like https://unpkg.com/fun-hooks@latest\nlet createHook = funHooks({\n  ready: funHooks.ASYNC | funHooks.QUEUE\n});\n```\n\n### Sync (`before`, `after`)\n```javascript\nfunction sum(a, b) {\n  return a + b;\n}\n\nlet hookedSum = createHook(\"sync\", sum);\n\n// sync `before` hooks accept the arguments to sum, and `next` passes the arguments to sum (or next `before` hook)\nhookedSum.before(function(next, a, b) {\n  a = a + 1;    // modify arguments or do some operation\n  next(a, b);   // call next when you're done\n});\n\n// sync `after` hooks accepts the return result from sum, and `next` returns the result (or calls next `after` hook)\nhookedSum.after(function(next, result) {\n  next(result + 1);\n});\n\nlet result = hookedSum(1, 1);\n// hookedSum(1, 1) -> hookedSum.before(1, 1) -> sum(2, 1) -> hookedSum.after(3) -> 4\n\nconsole.log(result); // 4\n```\n\n_Note: You should always use `sync` if you are returning a value. This includes if you are returning a `Promise`.\n69  If you're hooking a function with `sync` your hooks **must** call `next` synchronously (e.g. no ajax). Calling\n70  `next` asynchronously can lead to unpredictable behavior, including an `undefined` return value and incorrect\n71  arguments passed to subsequent hooks or the wrapped function._\n\n### Async (`before`, `after`)\n```javascript\nfunction increment(a, b, callback) {\n  callback(a + 1, b + 1);\n}\n\nlet hookedIncrement = createHook(\"async\", increment);\n\n// async `before` hooks accept the arguments to sum, and `next` passes the arguments to the next `before` hook or sum (same as sync)\nhookedIncrement.before(function(next, a, b) {\n  a = a + 1;\n  next(a, b);\n});\n\n// async `after` hooks accept the arguments sum passed to callback, and `next` calls sum's actual callback (or next `after` hook)\nhookedIncrement.after(function(next, a, b) {\n  next(a, b + 1);\n});\n\nhookedIncrement(1, 1, function(a, b) {\n  console.log(a, b); // 3, 3\n})\n// hookedIncrement(1, 1) -> hookedIncrement.before(1, 1) -> increment(2, 1) -> hookedIncrement.after(3, 2) -> callback(3, 3)\n```\n\nYou'll notice no difference above in `sync` or `async` with the `before` hooks, but the `after` hooks are dealing with \nthe `callback`'s parameters in one case and the return result (which will always be a single value) in the other.\n\n### Removing hooks\nHooks can be removed using the remove method. You can either use a match object to remove a specific hook or pass \nnothing to remove all hooks.\n\n```javascript\nfunction beforeHook() {\n  console.log(\"called\");\n}\n\nhookedSum.before(beforeHook);\n\nhookedSum(1, 1); // \"called\"\n\nhookedSum.getHooks({hook: beforeHook}).remove();\n\nhookedSum(1, 1); // hook not called\n\nhookedSum.before(beforeHook);\nhookedSum.after(afterHook);\nhookedSum.removeAll(); // remove all before and after hooks\n```\n\n### Priority\nYou can attach as many `before` or `after` hooks as you'd like to a function.  The order in which the hooks are run is\ndependent on the order they're added or an optional `priority` argument set when creating the hook (which defaults \nto a priority of `10`).\n\n```javascript\nhookedSum.before(beforeHook1);\nhookedSum.before(beforeHook2, 9);\nhookedSum.before(beforeHook3, 11);\nhookedSum.after(afterHook1, 8);\nhookedSum.after(afterHook2);\n\nhookedSum(1, 1); // hookedSum -> beforeHook3 -> beforeHook1 -> beforeHook2 -> sum -> afterHook2 -> afterHook1\n```\n\n### Bailing\nA hook can bail early to skip the other hooks or to skip the hooked function altogether (effectively stubbing it).\n\n```javascript\nfunction bailHook(next, a, b) {\n  next.bail(1, 1);\n}\n\nhookedIncrement.after(bailHook);\nhookedIncrement.after(afterHook2);\n\n// notice `afterHook2` is not called\nhookedIncrement(1, 1, function callback(a, b) {}); // hookedIncrement -> increment -> bailHook -> callback(1, 1)\n\nhookedIncrement.before(bailHook);\n\n// notice not even the original `increment` function is called now\nhookedIncrement(1, 1, function callback(a, b) {}); // hookedIncrement -> bailHook -> callback(1, 1)\n```\n\nIf you want to bail completely (i.e. not even call the callback) then just don't call `next`.\n\n### Get Hooks\nYou can get all the hook entries attached to a hooked function using `hookedFn.getHooks()`.  An optional argument \ncan be passed for matching only specific kinds of hooks: e.g. `hookedFn.getHooks({type: \"before\"})` or\n`hookedFn.getHooks({hook: myBeforeHook})` to get a specific hook entry.\n\n### Side-effect (or pass-through) only hooks\nIf you want to have a hook that just performs some side-effect before or after the hooked function but does not modify \narguments, just call `next` and pass-through the arguments without modifying them.  It's important that `next` is\nstill called with the original arguments so that the hook-chain can continue.\n\n```javascript\nhookedIncrement.before(function sideEffect(next, ...args) {\n  console.log(\"I'm a side-effect!\");\n  next.apply(this, args);\n})\n```\n\n### Naming\nHooks can be given a name and then accessed using the `.get` method.  This can be useful for defining the \nextensible API for your application.  _Note: You can also just expose references to the hooked functions themselves, \nthis is just a convenience.  Also, when using named hooks, you can reference the hook by name using `.get` and add \n`before` and `after` hooks before the hook itself has actually been created!\n\n_Note: For Typescript users, the `.get` function requires a type parameter defining the type of hook to expect.\nType helpers are exported as `SyncHook<T>` and `AsyncHook<T>` where `T` is the hooked function signature. If you want\nTypescript to infer proper types then you should just expose references to the hooked function themselves._\n\n```javascript\n// some-applicaiton\nimport hookFactory from \"fun-hooks\"; \nlet hook = hookFactory(); // default configuration\n\nfunction getItem(id, cb) {\n  fetchItem(id).then(cb);\n}\n\nfunction getPrice(item) {\n  return item.price;\n}\n\n// works, even though the \"item\" hook isn't defined until below!\nhook.get(\"item\").after(function(next, id) {\n  console.log(\"accessing item: \" + id);\n  next(id);\n});\n\nhook(\"async\", getItem, \"item\"); // naming this hook `item`\nhook(\"sync\", getPrice, \"price\"); // naming this hook `price`\n\nexport const getHook = hook.get;\n\n// extending application\nimport { getHook } from \"some-application\";\n\ngetHook(\"item\").before(function modifyId(next, id) {\n  let newId = getUpdatedId(id); // `id` naming scheme changed... luckily we have this hook available!\n  next(newId);\n});\n\ngetHook(\"price\").after(function currencyConversion(next, price) {\n  let newPrice = convert(price, \"USD\");\n  next(newPrice);\n});\n```\n\n### Objects\nWhile functions are the base unit of extension in this library, there is a convenience provided to apply hooks to object\nmethods if an object is passed to the hook creator. _Note: `this` will be bound correctly in the hooked function as well \nas in the `before` and `after` hooks (i.e. `this` refers to the object instance inside hooks)._\n\n```javascript\nclass Thing {\n  constructor() {\n    this.value = 1;\n  }\n  setValue(value) {\n    this.value = value;\n  }\n  getValue() {\n    return this.value;\n  }\n}\nhook(Thing.prototype, [\"setValue\", \"getValue\"]);\n\nThing.prototype.getValue.after(function(next) {\n  next(this.value + 2);\n});\n\nlet myThing = new Thing();\nmyThing.setValue(1);\n\nconsole.log(myThing.getValue()); // 3\n```\n\n_Note: `hook` will also walk the prototype chain and find `getValue` if it were an inherited method._\n\nIf `[\"setValue\", \"getValue\"]` were omitted then `hook` would hook the results of\n`Object.getOwnPropertyNames(Thing.prototype)` excluding `constructor` and any methods marked private with a preceding\nunderscore (e.g. `_privateMethod() {}`).  Also, if the list of methods to hook is omitted, `hook` will no longer walk \nthe prototype chain to avoid creating accidental hooks.  \n\nHooked methods are all assumed to be `sync` unless otherwise specified.\n\n```javascript\nhook(Thing.prototype, [\"setValue\", \"sync:getValue\" /* same as \"getValue\" */, \"async:loadData\"]);\n```\n\nIf a third argument, `name`, is provided, then the object's hooked methods will be made accessible to the `.get` \nmethod described above using `<Object Name>.<Method Name>` in [Naming](#naming).\n\n```javascript\nhook(Thing.prototype, [\"setValue\", \"getValue\"], \"thing\");\n\n// grab the collection of hooks\nhook.get(\"thing\"); // {thing: {setValue, getValue}}\n// or grab an individual hook\nhook.get(\"thing.setValue\");\n```\n\n### Ready\nFun hooks allows you to specify whether hooked functions should either throw an error or queue (for async hooks only)\nwhen they are called before being \"ready\". To utilize this feature, use the `ready` configuration option when setting\nup the hooking library. The `ready` API is turned off by default.\n\ne.g.\n```javascript\nimport funHooks from \"fun-hooks\"; \nlet hook = funHooks({\n  // ready accepts a bit mask to determine ready behavior for sync and async hooks\n  // SYNC will cause sync hooks to throw if called before ready\n  // ASYNC will cause async hooks to throw if called before ready\n  // ASYNC + QUEUE will cause async hooks to queue (rather than throw) if called before ready (and execute immediately \n  // when `ready()` is called)\n  ready: funHooks.SYNC | funHooks.ASYNC | funHooks.QUEUE\n});\n\nfunction sum(a + b) {\n  return a + b;\n}\nlet hookedSum = hook(sum);\n\nhookedSum(1, 2); // throws \"not ready\" error\n\nfunction addTen(a, cb) {\n  cb(a + 10);\n}\n\nlet hookedAddTen = hook(addTen);\n\nhookedAddTen(6, function(result) {\n  console.log(result);\n}); // this will queue the call and `addOne` will not be executed\n\nfunction addOneHook(next, a) {\n  next(a + 1);\n}\nhookedAddTen.before(addOneHook);\nhookedSum.before(addOneHook)\n\n// all hooks are ready now, queued `addTen` and its hooks are now called and 17 is printed to screen.\n// notice the that the `addOneHook` for `hookedAddTen` was used even though it was added after `hookedAddTen` was called\nhook.ready(); \n\nhookedSum(1, 2); // prints 4 since addOne hook was installed\n```\n\n## Additional Information\n\n### Debugging\nOne of the hardest parts of using libraries that allow for hooking, intercepting, and/or adding some sort of middleware \ncomes about when attempting to debug the code.  These libraries usually require a lot of scaffolding that manages\nthe hooks, caches results, changes some internal state, and calls the appropriate next hook in the sequence; this \ncreates a debugging nightmare when you step into your wrapped function or your hook's `next` call and are now sifting \nthrough some library's scaffolding code helplessly trying to find your way back to your own code base.  \n\nFun Hooks solves this problem by doing as much work as possible when the hook is created (rather than when it's \ninvoked) dynamically generating a wrapper function that already has the hooks (and the original function) chained in \nthe proper callback order.  This means that the `next` function passed into each hook immediately invokes the next hook \nand not some scaffolding code.\n\nexample:\n```\nwrappedFn() => hook1() -> hook2() -> wrappedFn() -> hook3() -> hook4()\nrather than\nwrappedFn() => hook1() -> scaffolding -> hook2() -> scaffolding -> wrappedFn() ... etc\n```\n(Depending on the type and nature of the hook, some _might_ have a one-line wrapper function to do something like \nextract a return result from a `sync` function)\n\nAlso, when wrapping a function for extension, Fun Hooks returns a Proxy object rather than a wrapper function. This\nallows the library to skip scaffolding code altogether if there are no hooks to apply, meaning if you step into your\n`wrappedFn()` invocation but no hooks have been attached, you'll step directly into your `wrappedFn` code.\n\nFinally, when you're stepping through your hooks or wrapped function code, the previously executed hooks will be still \nbe present in the stack since they are all invoked by the previous hook as opposed to iteratively looped through in \nscaffolding code and invoked individually.\n\nAll of the above creates a pleasant hooking environment that is much easier to debug.\n\n### Performance\nSince most of the scaffolding code involved with function invocation has been avoided, this makes the execution of a \nfunction and all its hooks more efficient at the sake of a little more overhead when creating the hook. Considering \nhooked functions (and their hooks) are usually invoked a lot more frequently than hooks are added/removed, I think \nthis is a decent trade-off.\n\nProxy forwarding is also much more performant than a function wrapper* (in a browser; in Node.js that currently \ndoesn't seem to be the case, but will probably change as Proxies are further optimized).\n\n### Footprint\nSince this hooking library is written for Browsers first the footprint and API is kept as slim as possible.\n\n### Code readability\nCurrently parts of this library are not very readable. Since much of the code is dynamically generated (using \n`new Function`) and is in strings it can't be properly minified by a minifier and is therefore written into the code \npre-minified. This hurts readability but is necessary to remain as small as possible. Readability could probably \nstill be improved somewhat but is considered low-priority compared to the goals stated above.  There are extensive \ntests to ensure the code is as bug-free as possible.\n\n### `next` as first argument\nIt is a common convention in Javascript to pass callbacks as the last argument to a function. However, `fun-hooks` \nbreaks this convention for a two reasons.\n\n 1. Javascript provides `Funciton.prototype.bind` to set `this` as well as for providing partial function application. \n `fun-hooks` uses this feature extensively in order to stack the hooks in such a way that they directly call\n each other. However, `bind` only allows partially applying arguments starting from the left. If the `next` callback \n were the last argument, this would require each hook being wrapped in another function to perform _right_ partial\n function application. (this is actually what is done for the hooked `async` function itself since it will have \n its callback on the right by convention)\n 2. Having the `next` callback on the left allows \"pass-through\" hooks to easily decouple themselves from worrying\n about function arity. (i.e. `(next, ...args) => { doSomething(); next.apply(null, args) }` is easy and still works \n if parameters are added to the function, whereas `(a, b, next) => { doSomething(); next.call(null, a, b) }` is coupled \n to the hooked function's interface and needs to be refactored if the interface changes)\n \n### CSP (Content Security Policy) considerations\nSince this library uses `new Function` you may need to allow for `'unsafe-eval'` if your website uses a \n[CSP policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) (Node.js users need not worry). Technically the way \nthis library uses `new Function` is safe, but what can you do... If you use CSP and cannot apply `'unsafe-eval'` then \nthere is a \"no-eval\" version available at the cost of some overhead. You can use it with the following import:\n\n```\nimport funHooks from 'fun-hooks/no-eval/index.js'\n```\n\n## Development\n```bash\nnpm run test \n# or with debugging\nnpm run test:debug\n\n# lint\nnpm run lint\n```\n","readmeFilename":"README.md"}