{"_id":"hable","_rev":"20-521ace86a707acc3dee731a2b121c76b","name":"hable","dist-tags":{"beta":"3.0.0-0","latest":"3.0.0"},"versions":{"0.0.2":{"name":"hable","version":"0.0.2","keywords":["tapable","tappable","hook","plugin","hookable"],"author":{"name":"Pooya Parsa","email":"pooya@pi0.ir"},"license":"MIT","_id":"hable@0.0.2","maintainers":[{"name":"pi0","email":"pyapar@gmail.com"}],"homepage":"https://github.com/pi0/hable#readme","bugs":{"url":"https://github.com/pi0/hable/issues"},"dist":{"shasum":"4a438c2a74a76e571804f4c6acbfd39739bed75c","tarball":"https://registry.npmjs.org/hable/-/hable-0.0.2.tgz","integrity":"sha512-0uKa8TsDEa+FmdMubcILWRqM6oQP56LHinYAZ9prPBPkPrOcPpfBjvqUGfJvzDNUoSeNjhHYNPkfSEMnKwHgjg==","signatures":[{"sig":"MEUCIQDza1mSRPNHXEOp8zWGw6rZYzxpN/DIbd22cvrG1dbKKgIgaprn/toqT4Z7q5awKckFquuJXlLAusnxw3uoTGzdK4Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/hable.cjs.js","module":"lib/hable.es.js","gitHead":"01a38571f554e22a6a64ebf42bd6646209d13bbd","scripts":{"dev":"npm run build --watch","build":"bili --format es,cjs --inline","release":"npm run build && standard-version"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"repository":{"url":"git+https://github.com/pi0/hable.git","type":"git"},"_npmVersion":"5.6.0","description":"A simpler tapable alternative, which can be used to create hooks for plugins","directories":{},"jsnext:main":"lib/hable.es.js","_nodeVersion":"9.4.0","dependencies":{"items-promise":"^1.0.0"},"devDependencies":{"bili":"^2.2.3","standard-version":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/hable-0.0.2.tgz_1517007657652_0.6209621916059405","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"hable","version":"0.0.3","keywords":["tapable","tappable","hook","plugin","hookable"],"author":{"name":"Pooya Parsa","email":"pooya@pi0.ir"},"license":"MIT","_id":"hable@0.0.3","maintainers":[{"name":"pi0","email":"pyapar@gmail.com"}],"homepage":"https://github.com/pi0/hable#readme","bugs":{"url":"https://github.com/pi0/hable/issues"},"dist":{"shasum":"33e7b24a62fd3fb28687ef999a2b5bc11b9d8e62","tarball":"https://registry.npmjs.org/hable/-/hable-0.0.3.tgz","integrity":"sha512-Fl4dF4L2Bsm4ZGuZmuyymn+E7Gr8qJBzfZedle71WUYHSM4YeM8QwU5hRdWOas5qaAneVOVEy/uMUGqFux2osQ==","signatures":[{"sig":"MEUCIGYRqsbdpWmaHYktc7vjuAZYO9hC2QhS7q3B8ixrefPsAiEA0rh0vl0OczS7Ek/tpFX0d358FYeg3eFAOdtGWDIojpI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/hable.cjs.js","module":"lib/hable.es.js","gitHead":"4f4f6e7805b3917a5b47d7c7a8edf37ef31c00fa","scripts":{"dev":"npm run build --watch","build":"bili --format es,cjs --inline","release":"npm run build && standard-version","release2":"git push --follow-tags && npm publish"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"repository":{"url":"git+https://github.com/pi0/hable.git","type":"git"},"_npmVersion":"5.6.0","description":"A simpler tapable alternative, which can be used to create hooks for plugins","directories":{},"jsnext:main":"lib/hable.es.js","_nodeVersion":"9.4.0","dependencies":{"items-promise":"^1.0.0"},"devDependencies":{"bili":"^2.2.3","standard-version":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/hable-0.0.3.tgz_1517007885541_0.8486635389272124","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"hable","version":"0.0.4","keywords":["tapable","tappable","hook","plugin","hookable"],"author":{"name":"Pooya Parsa","email":"pooya@pi0.ir"},"license":"MIT","_id":"hable@0.0.4","maintainers":[{"name":"pi0","email":"pyapar@gmail.com"}],"homepage":"https://github.com/pi0/hable#readme","bugs":{"url":"https://github.com/pi0/hable/issues"},"dist":{"shasum":"404799aa1e0170a81a53ddc48777f3d963174992","tarball":"https://registry.npmjs.org/hable/-/hable-0.0.4.tgz","integrity":"sha512-I1xySgvsgYdnlDdQe72hnqHBQNKEI806S88Je6BhC9XecjFJiFbX1/X/qVnAbMD0vLpgseeLfipOY5TV2GvRDA==","signatures":[{"sig":"MEQCIBLVRdAZWeJaj/VXi5Sc399cvRCoPAdREp44A9cb65bMAiBCZrwqZKdjiOOl7CLNSOA2DKLjZBUlaDFZp9XWpfPb2w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/hable.cjs.js","module":"lib/hable.es.js","gitHead":"ff454dfcc212aefdaf796a75f2e482160bbf784e","scripts":{"dev":"npm run build --watch","build":"bili --format es,cjs --inline","release":"npm run build && standard-version","release2":"git push --follow-tags && npm publish"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"repository":{"url":"git+https://github.com/pi0/hable.git","type":"git"},"_npmVersion":"5.6.0","description":"A simpler tapable alternative, which can be used to create hooks for plugins","directories":{},"jsnext:main":"lib/hable.es.js","_nodeVersion":"9.4.0","dependencies":{"items-promise":"^1.0.0"},"devDependencies":{"bili":"^2.2.3","standard-version":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/hable-0.0.4.tgz_1517008464511_0.8348162558395416","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"hable","version":"0.0.5","keywords":["tapable","tappable","hook","plugin","hookable"],"author":{"name":"Pooya Parsa","email":"pooya@pi0.ir"},"license":"MIT","_id":"hable@0.0.5","maintainers":[{"name":"pi0","email":"pyapar@gmail.com"}],"homepage":"https://github.com/pi0/hable#readme","bugs":{"url":"https://github.com/pi0/hable/issues"},"dist":{"shasum":"502ef11305d20fb277707a0d9c7b9bf9de9dc441","tarball":"https://registry.npmjs.org/hable/-/hable-0.0.5.tgz","integrity":"sha512-xPNoV6wGQOYslz2sgTSQXpNLTdvFHkXu2Kr5hWSIi3t8AqeumAqWacgMVo7D9996GQEiFCeiwnQnn/FvvPN7UA==","signatures":[{"sig":"MEUCIQDy/xkWBEiKO72RAsgzXz+ZkBGa0QEPiTz50Y/xm9uhxwIgQubjaXAlBUjbjH+HZnw5LETsoPVM01WwMUx3aP5EyAQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/hable.cjs.js","module":"dist/hable.es.js","gitHead":"fb51c14c24a14e45236f42bdfabfa2d85c2e53c4","scripts":{"dev":"npm run build --watch","build":"bili --format es,cjs --inline","release":"npm run build && standard-version","release2":"git push --follow-tags && npm publish"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"repository":{"url":"git+https://github.com/pi0/hable.git","type":"git"},"_npmVersion":"5.6.0","description":"A simpler tapable alternative, which can be used to create hooks for plugins","directories":{},"jsnext:main":"dist/hable.es.js","_nodeVersion":"9.4.0","dependencies":{"items-promise":"^1.0.0"},"devDependencies":{"bili":"^2.2.3","standard-version":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/hable-0.0.5.tgz_1517008620851_0.9307480696588755","host":"s3://npm-registry-packages"}},"0.0.6":{"name":"hable","version":"0.0.6","keywords":["tapable","tappable","hook","plugin","hookable"],"author":{"name":"Pooya Parsa","email":"pooya@pi0.ir"},"license":"MIT","_id":"hable@0.0.6","maintainers":[{"name":"pi0","email":"pyapar@gmail.com"}],"homepage":"https://github.com/pi0/hable#readme","bugs":{"url":"https://github.com/pi0/hable/issues"},"dist":{"shasum":"7fbf94bdcbb60389455ce0f98d7d850b98912837","tarball":"https://registry.npmjs.org/hable/-/hable-0.0.6.tgz","integrity":"sha512-ZJ3fcQK9QkEx9zsXXmdi81fydTIy5aGo/v9LYfi7S3Rmi29nttCdw/vUfbS7c1atocWot8CjWyVJ/KmK3kTL1Q==","signatures":[{"sig":"MEQCIHRxh3CdQ6+kb6ef7zXXCSYWsLFu+goa4AxFK0L8E9OpAiBDwCGwpCvI3N58LBGbbyO6i82EVgIBYctwEuYgAdioEQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/hable.cjs.js","module":"dist/hable.es.js","gitHead":"6b2190612ce47233c5122d25b6b653dd481f1a96","scripts":{"dev":"npm run build --watch","build":"bili --format es,cjs --inline","release":"npm run build && standard-version","release2":"git push --follow-tags && npm publish"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"repository":{"url":"git+https://github.com/pi0/hable.git","type":"git"},"_npmVersion":"5.6.0","description":"A simpler tapable alternative, which can be used to create hooks for plugins","directories":{},"jsnext:main":"dist/hable.es.js","_nodeVersion":"9.4.0","dependencies":{"items-promise":"^1.0.0"},"devDependencies":{"bili":"^2.2.3","standard-version":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/hable-0.0.6.tgz_1517008894320_0.2228768232744187","host":"s3://npm-registry-packages"}},"0.0.7":{"name":"hable","version":"0.0.7","keywords":["tapable","tappable","hook","plugin","hookable"],"author":{"name":"Pooya Parsa","email":"pooya@pi0.ir"},"license":"MIT","_id":"hable@0.0.7","maintainers":[{"name":"pi0","email":"pyapar@gmail.com"}],"homepage":"https://github.com/pi0/hable#readme","bugs":{"url":"https://github.com/pi0/hable/issues"},"dist":{"shasum":"9f75bb220d91e02baad5604b9143105e8d8fb8e9","tarball":"https://registry.npmjs.org/hable/-/hable-0.0.7.tgz","integrity":"sha512-SRkValXhhgKJVbp9Ma5A6qLocD8nGykDR6BBdJUEgWjaAA4nwMHOdTSxpXs+lUY56QcNzliJfDKWENAQzB/8kA==","signatures":[{"sig":"MEUCIQCHr1iOwtfv2fk2r0b25q1hn5MleCMDHRLDjzM4W9en1QIgNsoUmTZ49IAfkYI74LMz6Rlrl/zuORCHBuFe9dz1Uzg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/hable.cjs.js","module":"dist/hable.es.js","gitHead":"a72a9cc1cce994c4445f9a79f93685bf927aff9f","scripts":{"dev":"npm run build --watch","test":"jest","build":"bili --format es,cjs,cjs-min --inline","release":"npm run build && standard-version","test-ci":"NODE_ENV=test jest --coverage && codecov","release2":"git push --follow-tags && npm publish"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"repository":{"url":"git+https://github.com/pi0/hable.git","type":"git"},"_npmVersion":"5.6.0","description":"A simpler tapable alternative, which can be used to create hooks for plugins","directories":{},"jsnext:main":"dist/hable.es.js","_nodeVersion":"9.4.0","dependencies":{"items-promise":"^1.0.0"},"devDependencies":{"bili":"^2.2.3","jest":"^22.1.4","codecov":"^3.0.0","babel-core":"^6.26.0","babel-jest":"^22.1.0","standard-version":"^4.3.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"_npmOperationalInternal":{"tmp":"tmp/hable-0.0.7.tgz_1517136896257_0.6357768489979208","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"hable","version":"1.0.0","keywords":["tapable","tappable","hook","plugin","hookable"],"license":"MIT","_id":"hable@1.0.0","maintainers":[{"name":"pi0","email":"pyapar@gmail.com"}],"homepage":"https://github.com/jsless/hable#readme","bugs":{"url":"https://github.com/jsless/hable/issues"},"dist":{"shasum":"ae565b04bb7dcf3d5cc3a125e3df0983a1c629e7","tarball":"https://registry.npmjs.org/hable/-/hable-1.0.0.tgz","fileCount":6,"integrity":"sha512-qWNma/P2wOXJXqJoRtH8k259LpQT/Zg9lOi/DmS0Ch9kqrNZwbBpwvmY9GOgh0VoohrS1GMWeaaD+TzMdduQ4Q==","signatures":[{"sig":"MEUCIEWrNRbrZGQjgPwFJryzZDB0it/DsS4xJiriexjdY7WIAiEA6MK4fL8W4WvOnQsaG9mF7JqLOJaVs49A5l5g4Sr1Oys=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8099,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYcUOCRA9TVsSAnZWagAAhrYQAJb0jZzKpnsofUm/LUoy\nyqgim9vR0CALYxWqX4zYBaMucPcWOqIl+pXSwh2tlgRkdbTZx0slaOt8Tm+X\n8Dv61mQOQTMUgD7ko+ynlTwtaPUyEejTHTYglNivcQuwEQ8zZZPppHFdXHLx\nKyWhyp1AlNM8iejWsVC12Lyyr3M2ln+radXBqTEJr+eLdTeq9zjZSf6sF4oW\nG+4n2emeBT2iKL7LC1dH3biz/9qao3o3XA6k8FRQvMelWgENrF7gToCm/KS9\nweLSj2NvQB6g6pQpw+jwwUM7/MNogkVgz6uQk3//XiQa/fe1+Tva0+eqRnwq\nPgO2SdSBa1AqigakROo1lgT1nhwgUdTnQsJZaGfKR7Vi0Wc/djTXetKbh0HR\nlzCp9NYLlH5sNZ5juCY7XgeQHpxI/JLq5MsFcfZ30JZ5DAY29buSvMskeGUO\nQFGamG8Q2OX6lqUXh/LRoIo8BRmJ2ChBKQSLBJrynIy1UBbVJsz8Hhus4zKf\n5mNW6iWDchVx+TXF9N7vukOp0K/Jtv+7IbwB0UTPFH2HmAWhUKCdZzf6zwBH\nNp7Q3MdjF/cljD1QGD+VGJBFwIarnPHb8HzNCHiOF55xy2eNdqGxS84ytPnR\nWZ7jeJk4hpGSMVt0Hh2VdbKvjgNKd1ixmkxxdnScDNtvwd+D9vp6/oW6gLIx\n7tJs\r\n=/JSy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/hable.js","gitHead":"a0e5c7adaac6ff1bbce423bc26074b29f7edd1bc","scripts":{"lint":"eslint lib","test":"yarn lint && yarn jest","release":"standard-version && git push --follow-tags && npm publish","prepublish":"yarn test"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"repository":{"url":"git+https://github.com/jsless/hable.git","type":"git"},"_npmVersion":"6.5.0","description":"Awaitable hooks for Node.js","directories":{},"_nodeVersion":"11.9.0","cintributors":["Sebastien Chopin (@Atinux)","Clark Du (@clarkdo)","Pooya Parsa <pooya@pi0.ir>"],"dependencies":{"consola":"^2.4.0","items-promise":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.1.0","eslint":"^5.13.0","codecov":"^3.0.0","standard-version":"^4.3.0","eslint-plugin-jest":"^22.2.2","eslint-plugin-node":"^8.0.1","eslint-plugin-import":"^2.16.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hable_1.0.0_1549911309637_0.35692390429841137","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"hable","version":"1.0.1","keywords":["tapable","tappable","hook","plugin","hookable"],"license":"MIT","_id":"hable@1.0.1","maintainers":[{"name":"pi0","email":"pyapar@gmail.com"}],"contributors":[{"url":"@Atinux","name":"Sebastien Chopin"},{"url":"@clarkdo","name":"Clark Du"},{"url":"@pi0","name":"Pooya Parsa"}],"homepage":"https://github.com/jsless/hable#readme","bugs":{"url":"https://github.com/jsless/hable/issues"},"dist":{"shasum":"bb3251e830ce083c85cf45216f92a588df1e9028","tarball":"https://registry.npmjs.org/hable/-/hable-1.0.1.tgz","fileCount":6,"integrity":"sha512-7OM/78kpwkNRPRniuQ9qdq8iXZmvzv/j2d2BRWX+3NeLWZ9hqiPZSyI38bWCs2BAiat+a1tWjGVdSu9iiKKunw==","signatures":[{"sig":"MEUCIQDMKslmlTI6niMGgaNpbYDD0R7Ib458K3g1TOEVHAqVYgIgduNMnTT8xn/CaF5rzECeEP1XT5XlwWVRAL4zL2fyDjU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8090,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcjOvHCRA9TVsSAnZWagAA6mEP/jdofuqt+ts2b08zeqXu\n2Ep0tixu9oBCmAr6jTe3qHnEd6qasdVv/qa17RTL7E2/rSzeX6QnARMVNz8h\ncDT//ssuRpIhTQ4qzsWfRrHmpPNVPqYtb2DKHHUqsYCjk5aYkYevYH6pEGCN\nMy1cVmsyDKiaoZ52e1xQMDEJVBR2AqMPr1NIA+BF8LWjXYdsBZ4mLUdzZIKL\n5Mfd+7lkZbseuYq6Ft0aelsddlr5gPbdHJVlVZ55oPCyTKaXMQ6Zkk5LKU8I\nCLKEgxau01ByBT2LsbTTO2iBUfYv5VSJ4Hc/AwlROHCAbO7sYvGdyq1cHbil\nwiqGEt5OaKWZHjyGD+1DK5A36QyyppNKs/3yUMPmFzQgS1ejI7XPgTwnombR\nYMH46SdE8+vdZ5zXtrgLz/xa/iNG591Bwd6E6baLWxtGKt14p7enQCoQyhDz\ngbsid1EW53mWMtNpTxwxgcCFYqHMoBsvD06a2y/JL5YslH6I8sxF4nZoaHec\nLw6clDgkj+4PZ6I+hQjxbrJutqXEKaApnYb9xWqMZ5mhDw4/fJI3NbBdfVhp\nN8reAMxfOljwvk5cDFLkBOnDx1s4aTwdOs7//lsjRDO6sTOMxOINogrqotjL\n7jlz5Y9ZVdIwPyRxXSzPJq7vkS6xVbdZzhWky0uXoA8rpP8cdgLeTWrydgav\n0MRO\r\n=vQQf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/hookable.js","gitHead":"c4f8783242a1d1788dadfdffd85cd93d0cdf81ae","scripts":{"lint":"eslint lib","test":"yarn lint && yarn jest","release":"standard-version && git push --follow-tags && npm publish","prepublish":"yarn test"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"repository":{"url":"git+https://github.com/jsless/hable.git","type":"git"},"_npmVersion":"6.7.0","description":"Awaitable hooks for Node.js","directories":{},"_nodeVersion":"11.11.0","dependencies":{"consola":"^2.4.0","items-promise":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.1.0","eslint":"^5.13.0","codecov":"^3.0.0","standard-version":"^5.0.1","eslint-plugin-jest":"^22.2.2","eslint-plugin-node":"^8.0.1","eslint-plugin-import":"^2.16.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hable_1.0.1_1552739270147_0.8290849059312106","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"hable","version":"2.0.0","keywords":["tapable","tappable","hook","plugin","hookable"],"license":"MIT","_id":"hable@2.0.0","maintainers":[{"name":"pi0","email":"pyapar@gmail.com"}],"contributors":[{"url":"@Atinux","name":"Sebastien Chopin"},{"url":"@clarkdo","name":"Clark Du"},{"url":"@pi0","name":"Pooya Parsa"}],"homepage":"https://github.com/jsless/hable#readme","bugs":{"url":"https://github.com/jsless/hable/issues"},"dist":{"shasum":"179332422504968b5fa2ea79659489a2d1b3d8af","tarball":"https://registry.npmjs.org/hable/-/hable-2.0.0.tgz","fileCount":6,"integrity":"sha512-oU+igl9ruLMkWeUACUPKmqkUGwikF/AyJJMRUsKd5kSuFt3utXtEbzelNzOCbC4XGnPcW6V9vJMzPmpMlNOmfA==","signatures":[{"sig":"MEQCIH6uLeUKDEfoEKQ8RBkj0jr11jvOn4zV4hGgg7DDTgwJAiAkmZNHT7uGjR1Vi+pRQsYQ/Z4mgW0x7afv5SOrMhdTAg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8688,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdXYvJCRA9TVsSAnZWagAAIBgP/3JbtyHWLOQ/VBz9919m\nKomWxgi5MHMS4aP9Hhb+Psw8p200p5upTW6FZ242Zdgr6eyWhDy8ADgWnTz5\nZN/PGYDfaBjJLrCPAdWnsoLUzQTmnIBoWg+I8RGY6YShR2EFj8JhF0b/tP5K\nAZ6+M1DdbCCPw8YIzjMnC/FMR5/2SJW+dwsvzaum7kdq6hZ/QpR+TFcp+Ne5\nyRUoXR0Y3x/fotk1hE7P8DBKOsV0w7uoE+uxCLEbcueQWx/QQobP8exyNQxp\nE5GbnIOlIsyJW21qa0USHBUidnluVNQKysDiK+KjB5Pjdb+0xneADTTNAOFw\n9imV+NOQmMWxIilYDOn5TV5rxhZCQ4bgutaESBEVzFD3oaAu2QXpq95KOgXH\nSu+Wrt/RMYKauf2F4C5Cyilttd7kfZta2Iffu6iLA+H8OANoVWTQWlmqDoRF\n/aZrMg3ckzkDLzwLu9Bd80H2yy3tnguJPKn9sePwxOCd1lub6ANFUBkuy2ti\nMFLEKukCBuDQYtpq6GIXoAfNpeEfrTqsXHzSRce+3wmSmVl5s8nfn+eK48pv\nu+H7oKIw6FZPF2q96Be6Kbl3FCFkwFM3IJoBElYeCRMGAYL9/kie1dvtJu8i\nHaNGUDJEscReI3Xz2VhlVUeHVu7wsSSjlyWjDGrHzRAD5oUDvHyb1fImhgaq\naSqJ\r\n=S4DK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/hookable.js","gitHead":"71db2f615aed1b7ea72a7293c727564f04b47f9a","scripts":{"lint":"eslint lib","test":"yarn lint && yarn jest","release":"standard-version && git push --follow-tags && npm publish","prepublish":"yarn test"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"repository":{"url":"git+https://github.com/jsless/hable.git","type":"git"},"_npmVersion":"6.10.2","description":"Awaitable hooks for Node.js","directories":{},"_nodeVersion":"12.8.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^24.1.0","eslint":"^5.13.0","codecov":"^3.0.0","standard-version":"^5.0.1","eslint-plugin-jest":"^22.2.2","eslint-plugin-node":"^8.0.1","eslint-plugin-import":"^2.16.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hable_2.0.0_1566411720529_0.06333290113910284","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"hable","version":"2.0.1","keywords":["tapable","tappable","hook","plugin","hookable"],"license":"MIT","_id":"hable@2.0.1","maintainers":[{"name":"pi0","email":"pyapar@gmail.com"}],"contributors":[{"url":"@Atinux","name":"Sebastien Chopin"},{"url":"@clarkdo","name":"Clark Du"},{"url":"@pi0","name":"Pooya Parsa"}],"homepage":"https://github.com/jsless/hable#readme","bugs":{"url":"https://github.com/jsless/hable/issues"},"dist":{"shasum":"ba43bd5fffc6f6c907b0f44aeddbfd1b46123f3b","tarball":"https://registry.npmjs.org/hable/-/hable-2.0.1.tgz","fileCount":6,"integrity":"sha512-+RA3MyoAaISOi39FWllg5v3nVIRw1be6ZrPo/THpMjHPnuyLmxO4T/1EF1tgCHhxNOB2QaDtZMH7JXFur98csg==","signatures":[{"sig":"MEQCIDFyBCd5cahlp2k8GHbZ9jOi3t1ZbgvRCv6BI6VXve1KAiBgUW13T7XDIxP5A3IdG5Jf0SqCiOjajpcQvkHKWIlX4A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdXY1ACRA9TVsSAnZWagAAaD8P+gNYO9bSRREphiqWBP+t\nCflYmytytElAKiYZ2cJlpL85srcyWYdWWohO3UIiinTOl565IIPP3czBKr5m\nN+aRcO2GAfcJlLv43ezUF0oJ8UEDRjMwblr8MD3gQQ9a9Qr3kSoTR0ySGVv7\nLFXWYQE1llLpiWu5dA/4LF4zfvbwd+QSfTvDiAK9FHuNv/P2kHhls97vIfA1\nZrKsS3covegzo+W0/7CXWaOY4OHwIf1nPvqv1lLcmXbgIJQ7iG08jl90X/GC\nGeef50uz+bTuiGzSfBJsw9X+V4kjBXHvV7h6+LsfTmyNzll1s+7ZszKoCTS/\nh5rAw2Fdk7ACtb7dl7qm0+IePIOWnI7TCq7ZzlSCnnrhXV83NvaSXAGjJvzm\nR1KlGAv5FH6qQeEeqiJQGw3Ie+bNViChZ1BmoY4cC9zjv8w6aGWSokKm608e\n501j1nqeYAiELIfFUbESRmFz7WPjS6Qsw21ogwHHfofkR6HU80S5K1Zljctd\nvN94TelJz4ampS/earbDkfEjU/ifMr8oF0oo4LQBfO7z0l7w29pzXS0ZQhwF\n5+7QvzaiNfZGbrXq1uCRYEfGyHKRpdptV/puztDSuAe/BvYuNRgUbCGeWgFJ\nyOmwRe/TBG3nOqyKSVsDyg4bEt5rwo7Im1Qdy9YAAx8flsba4GX8GcMK41rx\nZX5Z\r\n=eVTl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/hookable.js","gitHead":"69b4795dbb769780e31d8ff395163c64042f71b7","scripts":{"lint":"eslint lib","test":"yarn lint && yarn jest","release":"standard-version && git push --follow-tags && npm publish","prepublish":"yarn test"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"repository":{"url":"git+https://github.com/jsless/hable.git","type":"git"},"_npmVersion":"6.10.2","description":"Awaitable hooks for Node.js","directories":{},"_nodeVersion":"12.8.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^24.1.0","eslint":"^5.13.0","codecov":"^3.0.0","standard-version":"^5.0.1","eslint-plugin-jest":"^22.2.2","eslint-plugin-node":"^8.0.1","eslint-plugin-import":"^2.16.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hable_2.0.1_1566412095847_0.6892189954463117","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"hable","version":"2.1.0","keywords":["tapable","tappable","hook","plugin","hookable"],"license":"MIT","_id":"hable@2.1.0","maintainers":[{"name":"pi0","email":"pyapar@gmail.com"}],"contributors":[{"url":"@Atinux","name":"Sebastien Chopin"},{"url":"@clarkdo","name":"Clark Du"},{"url":"@pi0","name":"Pooya Parsa"}],"homepage":"https://github.com/jsless/hable#readme","bugs":{"url":"https://github.com/jsless/hable/issues"},"dist":{"shasum":"281a372b4af7336a15029d5c293aa4cbc402808e","tarball":"https://registry.npmjs.org/hable/-/hable-2.1.0.tgz","fileCount":6,"integrity":"sha512-vL8ljDBY193nFJNjzV290KGVXF97P0xfBfeRFlArW3FfbTgbqkpRjqTpS0JJnRynnVm7AjSTIrDMCtWF8Ymtxw==","signatures":[{"sig":"MEUCIQDJ3CDlwY+7dpEav/pIp/wE7pTJk8PJh1yRw0DF275+CQIgFkDrnK5GV4DlG3xaxBHUQDMTqZxgg7EMsER8DmY3UDI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9084,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdXY4YCRA9TVsSAnZWagAAXBgP/1eC06zQfORnbjqqGrSm\no8hrt3fd4ixVuG0pISyBAIqWWS7sfOibUdCqSi/w6YkkZDyqRdPySD2etN40\nDO9DfBXJoss10tvr+xb3FZggNYEnktQUcirBvfve5rN1h0uWWdT7ZFUFNQdd\naL+/TClyA7DymMsO7PtaYW1OVtvkPj6xq8IV2soMNbuoel8L1cOQF7Je1gUe\n6xDwAeyrNxt4QBXw9MjhplFao02IKI78xWQQ+2zG3ZBdhJGIAVm0m6hdd8BI\niuKXOLMaWFof4Zb3sqxZEIfE1hxbKvmjyxwyrCyrM6zHlr6hD1B8hsMlAxZG\nBpYiFXCL3NNjl+tFDYdH538f9wsaLV2aijjlGic91Toki5LpT1O1bcw9BB89\nYNGvj+xi4npwWD5eqaz4/5lXDXklKeEKZi9lXhSnbap2kB1TzYVvioyFd5c9\ns6FT8jdJP1AVH8Yn3o0fu2F3RSY7A7W73wF3qhjIULjyhki0BZS7+F8v32kD\nUmgH0kLxExdipYjN3Q5dDXPMaFh1XHKWIX5whTTccKLVFeUZQLkd5w33CB3S\nxbPBcvfnKCMsc5Ejy/k5GucKENk6AjSMGz0hAehTLMSCaKTlPVui5MU0rsIS\nedH59xiqP377mAfjfTXthaGztu4Fpg5A7p10Fg/dLBV7DEp4a6wKRxRSE6y8\nQqsh\r\n=ZooL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/hookable.js","gitHead":"2860582a4d8018bdddee02d2991b3aeaf8f083ec","scripts":{"lint":"eslint lib","test":"yarn lint && yarn jest","release":"standard-version && git push --follow-tags && npm publish","prepublish":"yarn test"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"repository":{"url":"git+https://github.com/jsless/hable.git","type":"git"},"_npmVersion":"6.10.2","description":"Awaitable hooks for Node.js","directories":{},"_nodeVersion":"12.8.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^24.1.0","eslint":"^5.13.0","codecov":"^3.0.0","standard-version":"^5.0.1","eslint-plugin-jest":"^22.2.2","eslint-plugin-node":"^8.0.1","eslint-plugin-import":"^2.16.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hable_2.1.0_1566412312168_0.3060991277617968","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"hable","version":"2.2.0","keywords":["tapable","tappable","hook","plugin","hookable"],"license":"MIT","_id":"hable@2.2.0","maintainers":[{"name":"pi0","email":"pyapar@gmail.com"}],"contributors":[{"url":"@Atinux","name":"Sebastien Chopin"},{"url":"@clarkdo","name":"Clark Du"},{"url":"@pi0","name":"Pooya Parsa"}],"homepage":"https://github.com/jsless/hable#readme","bugs":{"url":"https://github.com/jsless/hable/issues"},"dist":{"shasum":"bc238bfd3f6b12b3f87c383f533d303dc67cf434","tarball":"https://registry.npmjs.org/hable/-/hable-2.2.0.tgz","fileCount":6,"integrity":"sha512-8s0RNxVSALuwFc1ViytBrzLx876u5IVMG4knBqfWf5QUpmNNqcRttIgMCisaVddQk8lk6w1Ecfvo9w1gOx/35g==","signatures":[{"sig":"MEUCIQC+h7it2gIJ0so1cPr5I22cLoDxZ3htkrTvDJ07ww9AFgIgfGKdIrqJtSHaES/MrG/+aQlCld7hImBxuFIlDxmhX+A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9508,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdXZurCRA9TVsSAnZWagAAkIAQAKBLT/1OUdrsZO6mBVW8\nXf//Acb00z2CLSHMlqfGbILFDV+rm+T1fKxv4kOv2YaQMQcFNO2Bj4v/ryAr\n5sSQS8k6Sdh0t5jUJrR4DxshVVbTdpjx3Ql7W40lOBPnI2/TKQq7QzR/bD+W\nHkR24KfGlrQC71VzpG8g/tvt+hJyonu+eMwNJgiutAcvgwEwJaxF7aTfD79Z\nln3MpbxaXzdOTF1kPGL+99pQAo4MtNmeBnEwN5k1Fn6JGGEutxA3CO2xv0Ig\n6E0t1eZaGGcf3n9x0kvTFRUFLQNjtBCeJnr3bRq1yJLmeXOurERnDQDxkXFS\nQtUnZL4RC0wDS5kiA7owbgdwXIt0IgsgsNydYTBC65dbi3whUobtqQDhSGwH\nXaaB40/LgU3vn0yNVUS1Z2fmXw5IdWdKb9FQFAIfVjNJJNoggEY8PG6DQgN1\ny72jMdy61vL8o5WHcEcdKNCBjTzTSBgM/q0XQhW428gkqaaN+ezHjryQFloz\n6DX0q4WGZXC08+M5QbPr3unK9c/acplZDZYWKGA7kGweK781aKT/+csnFCg5\nJKGflN8C27o4+xrFDkwo8GlOteVGc41lV3+LdBoszm9Jx+mhLLrAsZh+FIHW\nv+ntIF16jxFX+2VNcN6yOYrE8UAj49baI3c573bDPPwZPxds82r6TVju/h+A\nVJTz\r\n=vcxd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/hookable.js","gitHead":"55cf5c01d89302888627fc4a26759f3fa29f2b5c","scripts":{"lint":"eslint lib","test":"yarn lint && yarn jest","release":"standard-version && git push --follow-tags && npm publish","prepublish":"yarn test"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"repository":{"url":"git+https://github.com/jsless/hable.git","type":"git"},"_npmVersion":"6.10.2","description":"Awaitable hooks for Node.js","directories":{},"_nodeVersion":"12.8.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^24.1.0","eslint":"^5.13.0","codecov":"^3.0.0","standard-version":"^5.0.1","eslint-plugin-jest":"^22.2.2","eslint-plugin-node":"^8.0.1","eslint-plugin-import":"^2.16.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hable_2.2.0_1566415786608_0.30618676424023206","host":"s3://npm-registry-packages"}},"2.2.1":{"name":"hable","version":"2.2.1","keywords":["tapable","tappable","hook","plugin","hookable"],"license":"MIT","_id":"hable@2.2.1","maintainers":[{"name":"pi0","email":"pyapar@gmail.com"}],"contributors":[{"url":"@Atinux","name":"Sebastien Chopin"},{"url":"@clarkdo","name":"Clark Du"},{"url":"@pi0","name":"Pooya Parsa"}],"homepage":"https://github.com/jsless/hable#readme","bugs":{"url":"https://github.com/jsless/hable/issues"},"dist":{"shasum":"714ef141a7eda5bd8530d6e4e3b37c6807716290","tarball":"https://registry.npmjs.org/hable/-/hable-2.2.1.tgz","fileCount":6,"integrity":"sha512-CuGRGMNnCp8RJ70zeoTX37sX4ctoT8BpmkStI2TYQwBBtWzQQFXQ/jsBUCqd34grt3IJQ+hkUXAU84/IuErVLQ==","signatures":[{"sig":"MEUCIQD23yHmbk3bB868GR6A0xmm+w8x8tKU5ZEIwJZPZQsMgwIgWswOLZ/cLooonhe73/ygvZ2JJiE5QHy7NovZjE/7C90=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9560,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdXZwfCRA9TVsSAnZWagAAmBQP/iFTp0d8yvs7ojFHzHQM\n5kIn0ocTkxeK6lMwyFXwqtz/rsQmM/sMgW3p3iOj9Bw6FfeYtG2LHvZNoXV6\nOsLFg600bTJbJsgc1YY6hLvz1iLNLBjwfhqEHSpZwBxC5t/nnnontFUFQlyt\nXlTtEmyAm7S/TlIs82dtdd4b8oei+dS7zuoxaGAEa0w07nDxCpUDMWuOeyCK\nqdrw5hjrzwsGDGKabcBemw1b6EA0G9QcWqIVZo7slLNJlKzZ9PhOU19rYhO+\n49fPzyT89DIKMvqxvIyH9ooTx5IYLGWkyaNefzBBmS8H6cHdwjpdib5Y9NDp\nl95DTD9auCvC0mX/B8gK4gEH3iK3j8M6QQsdUPUzOy99Fk2rAr67ondb8p08\nxTfoIyQi2opBh4aUZocejx1gSmWKgcIrkSWVLeuqlGtK+hkVfu0bf6HnmYl9\nZkjaLyCWEaZXT1Ts3U/fe2S98um4IZCk8DTNCxhwXHVijV2v8lNuhVrwpJfG\nCZztTqtg7u41GITD6tOaPvJJicc5jX3TgkVN1npkvnk5Qml55V5Jf737DREr\nKGHGWv70xIUk3oKKfLhG2NmlKn+KrbGEEgUex5T07RUucPTHulSyzfFDoyKU\nQUwXWN5i35QB/CBGPhMiNL+k5UnQIIvIyJnC16lHiT5uAu2S1/zH2Pcz6rDN\nTRNL\r\n=8esi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/hookable.js","gitHead":"59e7482ede738aa63fe507b5f4ae2f5b152c9c29","scripts":{"lint":"eslint lib","test":"yarn lint && yarn jest","release":"standard-version && git push --follow-tags && npm publish","prepublish":"yarn test"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"repository":{"url":"git+https://github.com/jsless/hable.git","type":"git"},"_npmVersion":"6.10.2","description":"Awaitable hooks for Node.js","directories":{},"_nodeVersion":"12.8.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^24.1.0","eslint":"^5.13.0","codecov":"^3.0.0","standard-version":"^5.0.1","eslint-plugin-jest":"^22.2.2","eslint-plugin-node":"^8.0.1","eslint-plugin-import":"^2.16.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hable_2.2.1_1566415902604_0.6225529188230741","host":"s3://npm-registry-packages"}},"2.3.0":{"name":"hable","version":"2.3.0","keywords":["tapable","tappable","hook","plugin","hookable"],"license":"MIT","_id":"hable@2.3.0","maintainers":[{"name":"pi0","email":"pyapar@gmail.com"}],"contributors":[{"url":"@Atinux","name":"Sebastien Chopin"},{"url":"@clarkdo","name":"Clark Du"},{"url":"@pi0","name":"Pooya Parsa"}],"homepage":"https://github.com/jsless/hable#readme","bugs":{"url":"https://github.com/jsless/hable/issues"},"dist":{"shasum":"cd978677fbd2c4c2d1707245288a15f3d5b52f2d","tarball":"https://registry.npmjs.org/hable/-/hable-2.3.0.tgz","fileCount":6,"integrity":"sha512-fPVcurSORROXgM5zJbZCmbQfu2eyZS/3bGMO5zFh4W1BNOkwLlqPUg4dMV7YTD5xoLCmZeJD2O6I2t8LTs930w==","signatures":[{"sig":"MEQCICarQQJvEgQFe76rhWOGaHaMm7yBFWubLr5Bf0/VXoaBAiBl4Qu9LbwaEgZMwmfD7BjsIXG25ClL+mjnTwooSP7Zhw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9744,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJda/lzCRA9TVsSAnZWagAASzoP/iNkiGgwQJawmx59eh9I\n3xFY6loRQfwyIFoleJ6qbMBOziVsB0Mq2A5h/6BtD5WhiH5QhZFdJiBhMjF5\nGtzHQ59/juVKcnmsGIB8wWAb7Vb8zGQpRFv74WahRye8j8/AbH2L3QnxaJO+\nHEr0NvScKBBQknD77WTspCgYCIywjn2Rn0hnVHqU+VFo3/xEPcqgCCKGSz/2\n1oX3rxBaZD9CXVycJIFG0KhbFbHqcE7Z4PrGet30LgUygDLMHsSc/X16Q6mg\nBH8rORdOen6fUgrG1HN9haOnYBbAFgMc912lbgrsl53FtGCMrXfm5oS9QXze\nfbZA2FH5FgoG2R0dl7+MbOo64/AR4OqC4z6KZedygiWwhumHgCt4URaVsRY/\n0cyW0VCoEaN5MiOAH6vqwP499anNrezQnK4VtbB3SpRuFSuRpkH8z16Q8X44\n6gmzvNt7Zu5L74UC/6wy/TSGnYfz1NehBB/1lrTwIRb13WxW3ziCSKcUCTet\nDlnqs/ymVl51mmEH+eMWgpv1cQM1J0wmtYJzznnHX2qnIQGRGs6l1VL1c2ty\nSDflnXOqCkcdJXScpw1nOIqlx0jlGcwWg7aR85dA0ubfGmJLUXQoPUv7w4xc\nmuzkq9LTXor4mIl95zIS56IDDiI2y2RhDB6GSi9sUXa1pBFC5XGlpFeEw3g+\nY3a3\r\n=X980\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/hookable.js","gitHead":"791542b168dc0633fdfa2e0dafe3f7ae7311a275","scripts":{"lint":"eslint lib","test":"yarn lint && yarn jest","release":"standard-version && git push --follow-tags && npm publish","prepublish":"yarn test"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"repository":{"url":"git+https://github.com/jsless/hable.git","type":"git"},"_npmVersion":"6.9.0","description":"Awaitable hooks for Node.js","directories":{},"_nodeVersion":"12.4.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^24.1.0","eslint":"^5.13.0","codecov":"^3.0.0","standard-version":"^5.0.1","eslint-plugin-jest":"^22.2.2","eslint-plugin-node":"^8.0.1","eslint-plugin-import":"^2.16.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hable_2.3.0_1567357298796_0.8936405438467792","host":"s3://npm-registry-packages"}},"3.0.0-0":{"name":"hable","version":"3.0.0-0","keywords":["hook","hookable","plugin","tapable","tappable"],"license":"MIT","_id":"hable@3.0.0-0","maintainers":[{"name":"pi0","email":"pyapar@gmail.com"}],"contributors":[{"url":"@Atinux","name":"Sebastien Chopin"},{"url":"@clarkdo","name":"Clark Du"},{"url":"@pi0","name":"Pooya Parsa"}],"homepage":"https://github.com/jsless/hable#readme","bugs":{"url":"https://github.com/jsless/hable/issues"},"dist":{"shasum":"f4599b6ef56e676e9d57b34f0b2b9fc0cb1aadb5","tarball":"https://registry.npmjs.org/hable/-/hable-3.0.0-0.tgz","fileCount":12,"integrity":"sha512-5wLrQP/SMBkVslX7ODFMecfjo//HiHPz4jzS8fjLbJrGHuHKl5TLJWAKJScZzNcfXp7akXlgGMu2fNaXMB+Gzw==","signatures":[{"sig":"MEUCIGZrrzXaw1Ca8lOiumPyGO39Zg/AzRfL26M1uoER6OXwAiEAz+z9kiUm1FG+FDUmtty3gWcuBUBpJtvMHtqKECcacbs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23984,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdbAUmCRA9TVsSAnZWagAAVT8QAJmyPVClP5jwZfZqI3Q1\nZTKNtZWtP0eQQ1uGA80RzmzkHzuBn3cPdpqh+wgFymeE4jnSeb5MP3neh8L/\ndp/250gJ+EXVaOZ6TbAhM8obkF9k3A78xmPg5CMizF7mYhqRBuWcc+ZtJwSp\nJW4NSMmsvvmwzRpZI8OZNRPS0ExVjVRJwlmiYZgOf6iF88zE1Vn/pGnVHJQw\nHgFJyvRrura/d4WipWVmIxx9lRIVy5zkSRJtBKJ/1IpJMx1KNEBT0njdmmpY\nL04eWGuyq13LljZdaGnEAZ/tzBfBfGvNSwrzQYSWiTNHA3SoeejvSbI57tV1\nPHN1+WjbLR3FHEG53OFX0aq5UbWDKY/GKgGkumImaWva4mBDBKzbDayvSE4W\n4xLIx3c1xDT1GSAAMNQqrZZGvk5iz6zLm5350n5sl3TeM8yIFGS9c1Qct0jM\nuWvAKScc7LhQQ0Rtii2FGDjWsRvggty4NBNQJoXzfthhSRdOQz1oMp+8/Q+R\nQeSo0/859IujBrrO1KizBzPICXROUHLI32Mx+Eh7hIH0Q8R1ULH04Td+t+a6\n+j2yx6bftQCidLIhIZDIRok7UvParOIUEouH7xsbCMYt0bKAAAEynoLJDhat\nv0W7AtEw7NN3wwFxJvx8E2wONq+kWgvinoS/m4x4M9pE/ZBZyjbCjbgB4srn\nBwBp\r\n=BdRN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/hable.js","readme":"# Hable\n\n[![CircleCI](https://img.shields.io/circleci/project/github/jsless/hable.svg?style=flat-square)](https://circleci.com/gh/jsless/hable)\n[![Codecov](https://img.shields.io/codecov/c/github/jsless/hable.svg?style=flat-square)](https://codecov.io/gh/jsless/hable)\n[![npm](https://img.shields.io/npm/v/hable.svg?style=flat-square)](https://www.npmjs.com/package/hable)\n[![npm](https://img.shields.io/npm/dt/hable.svg?style=flat-square)](https://www.npmjs.com/package/hable)\n[![size](http://img.badgesize.io/https://unpkg.com/hable/dist/hable.cjs.min.js?compression=gzip&style=flat-square)](https://unpkg.com/hable)\n\n> Awaitable hooks for Node.js\n\n## Install\n\nUsing yarn:\n\n```bash\nyarn add hable\n```\n\nUsing npm:\n\n```bash\nnpm install hable\n```\n\n## Usage\n\n**Extend your base class from Hable:**\n\n```js\nimport Hookable from 'hable'\n\nexport default class Foo extends Hookable {\n  constructor() {\n    // Call to parent to initialize\n    super()\n    // Initialize Hookable with custom logger\n    // super(consola)\n  }\n\n  async someFunction() {\n    // Call and wait for `hook1` hooks (if any) sequential\n    await this.callHook('hook1')\n\n    // Call and wait for `hook2` hooks (if any) in parallel\n    await this.callHookParallel('hook2')\n  }\n}\n```\n\n**Inside plugins, register for any hook:**\n\n```js\nconst lib = newFooLib()\n\n// Register a handler for `hook2`\nlib.hook('hook2', async () => { /* ... */ })\n\n// Register multiply handlers at once\nlib.hookObj({\n  hook1: async () => { /* ... */ },\n  hook2: [ /* can be also an array */ ]\n})\n```\n\n## Hookable class\n\n### `constructor(logger)`\n\nCustom logger. Default logger is `console` but you can use your own or [consola](https://github.com/nuxt/consola).\n\nIt should be an object implementing following functions:\n- warn\n- error\n- fatal (optional)\n\n### `hook (name, fn)`\n\nRegister a handler for a specific hook. `fn` can be a single function or an array.\n\n### `addHooks(configHooks)`\n\nFlatten and register hooks object.\n\nExample:\n\n```js\nhookable.addHooks({\n  test: {\n    before: () => {},\n    after: () => {}\n  }\n})\n\n```\n\nThis registers `test:before` and `test:after` hooks at bulk.\n\n### `async callHook (name, ...args)`\n\nUsed by class itself to **sequentially** call handlers of a specific hook.\n\n### `deprecateHook (old, name)`\n\nDeprecate hook called `old` in favor of `name` hook.\n\n### `deprecateHooks (deprecatedHooks)`\n\nDeprecate all hooks from an object (keys are old and values or newer ones).\n\n### `clearHook (name)`\n\nClear all hooks for a specific hook.\n\n### `clearHooks ()`\n\nClear all hooks registered in the class.\n\n### `flatHooks (hooksObj)`\n\nRegister many hooks using an object.\n\n## Credits\n\nExtracted from [Nuxt.js](github.com/nuxt/nuxt.js) hooks system. Original author: [Sébastien Chopin](https://github.com/Atinux).\n\n## License\n\nMIT\n","browser":"dist/hable.umd.js","gitHead":"f5a10472dbb01167b0d8f1c61956cde4a77921b7","scripts":{"lint":"eslint src","test":"yarn lint && yarn jest","build":"bili --module-name hable --minify --format cjs,umd,es src/hable.js","release":"standard-version && git push --follow-tags && npm publish","prepublish":"yarn build && yarn test"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"repository":{"url":"git+https://github.com/jsless/hable.git","type":"git"},"_npmVersion":"6.9.0","description":"Awaitable hooks for Node.js","directories":{},"_nodeVersion":"12.4.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"bili":"^4.8.1","jest":"^24.1.0","eslint":"^5.13.0","codecov":"^3.0.0","standard-version":"^5.0.1","eslint-plugin-jest":"^22.2.2","eslint-plugin-node":"^8.0.1","eslint-plugin-import":"^2.16.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hable_3.0.0-0_1567360293745_0.44195522459188785","host":"s3://npm-registry-packages"}},"2.3.1":{"name":"hable","version":"2.3.1","keywords":["tapable","tappable","hook","plugin","hookable"],"license":"MIT","_id":"hable@2.3.1","maintainers":[{"name":"pi0","email":"pyapar@gmail.com"}],"contributors":[{"url":"@Atinux","name":"Sebastien Chopin"},{"url":"@clarkdo","name":"Clark Du"},{"url":"@pi0","name":"Pooya Parsa"}],"homepage":"https://github.com/jsless/hable#readme","bugs":{"url":"https://github.com/jsless/hable/issues"},"dist":{"shasum":"42cc181aeecea929675d04755a1afd01159a2588","tarball":"https://registry.npmjs.org/hable/-/hable-2.3.1.tgz","fileCount":6,"integrity":"sha512-yB7VL2AOXMNKVePhpd0l5haQVtAiPbcphDXKIH6Ty8CCwC+vUCYhbqlernvbw5Bfu188RZ277BLJz++24coJ0A==","signatures":[{"sig":"MEUCIQDsQ/Oaupe/0Zomj3jjPGkuaLF7t1l1MHrTbim1fkA2rgIgA3KmI29kS5ZRfio9AtXkmuE9v56ynN9aD/IiIg9wVW4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9969,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdbOP0CRA9TVsSAnZWagAAWDQQAIf2kCdJbmVSU8vQq7ue\n6g1EWnLvo542nUduxZDFvth9lZ6xMqCQTUZ1P6HXJ2utu3R2GoM7EYgqvl10\nl78rK+mmMksW9ubUNMnEaMUCGz2eWNiLdGGoqrAbAomySm8cTqBV68FWdTvl\nUecd+pF+UwbqdYoZ1zfPd5DkOt14c8ZAmFD2FjpRgxxcVIwXsCKMZnmDWahr\nczJXWFiRduR0fPaC//eR+kTVxaPdNg+yqPqxRjSoD65d/51iyZsemWn7lq9U\n2jAGJAO/O30S2Ssq4NcXi3DXVep2DDVY3ggdRqy8l1ITvm1UcwSEj+K5VvFR\nPdm/65+JjwUTg9AXWLRqYB5LBWnkOdGkYLGHKo8Ofr64gTGN0+fRIkJCoXyd\nrTnzkK6u42kM/zHEQYiuAItqLEbWxYuaxtS5x+1xL0OEliQEiZl0P3Wwziad\nyBtPz/q6ZOn4HYmhf/ZZWuYnYfZOaPrHxWXxZvRWCLmHpAv6NdYD+a8PDd02\ntPtGPWZw/XM/dnNm1KFI8Aygb/js/BA3V6LmT4B6HujN61ezmWo/Xnpcq6EY\nWQ/ClQMOHrq9zMlvwZVUGbZJqeNs1Ly6Yu1R4qtalHxRdGase2ymc0Y4Tkyb\npyKfHLSbGey9EWjZ8J9RT6OF1A+z1oXnI0xivxcWw4ODQc0JpEoNrrvFPypK\nN93g\r\n=lx/i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/hookable.js","gitHead":"fff19c03acf21e0411ec4b4c26e64c86a308c9d9","scripts":{"lint":"eslint lib","test":"yarn lint && yarn jest","release":"standard-version && git push --follow-tags && npm publish","prepublish":"yarn test"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"repository":{"url":"git+https://github.com/jsless/hable.git","type":"git"},"_npmVersion":"6.9.0","description":"Awaitable hooks for Node.js","directories":{},"_nodeVersion":"12.4.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^24.1.0","eslint":"^5.13.0","codecov":"^3.0.0","standard-version":"^5.0.1","eslint-plugin-jest":"^22.2.2","eslint-plugin-node":"^8.0.1","eslint-plugin-import":"^2.16.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hable_2.3.1_1567417331313_0.2708657461885633","host":"s3://npm-registry-packages"}},"2.3.2":{"name":"hable","version":"2.3.2","keywords":["tapable","tappable","hook","plugin","hookable"],"license":"MIT","_id":"hable@2.3.2","maintainers":[{"name":"pi0","email":"pyapar@gmail.com"}],"contributors":[{"url":"@Atinux","name":"Sebastien Chopin"},{"url":"@clarkdo","name":"Clark Du"},{"url":"@pi0","name":"Pooya Parsa"}],"homepage":"https://github.com/jsless/hable#readme","bugs":{"url":"https://github.com/jsless/hable/issues"},"dist":{"shasum":"7867ffec0b67e63136937613d9a0bc646ac9d7fe","tarball":"https://registry.npmjs.org/hable/-/hable-2.3.2.tgz","fileCount":6,"integrity":"sha512-qJ9WoXl/15LNlG1KeAuBjCNGStUb+MCQ5biPxOmwRyESH8CSWwZB4xEnzCduuQ3I/mlgui28t8/oMAGT1Rpb2g==","signatures":[{"sig":"MEUCIByfacRXYaa4+yInA2hQtkSlvkKb+Cp8f9JSHBD8xbFVAiEA08nhvA6hB7LgikFgFRG3+axFjxWMwAc4cKhqxt9twFM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10274,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdbOSoCRA9TVsSAnZWagAAwm0P/jGzIVAL5T3XfnGkpXE4\nzMPtB0VI55ggewpoS7J+mK8lr0sOrBKoC4WS18Xm7/8+WQSiZyXXtunMD1uQ\nDNRggh+R+bNBTGOEnKaKnt5uD6NcD2h8SGw5j+N42sNvVU/QuIIuExAlbM/F\nS9d4Ynxrt3NeOp0jVooZYqO+IEHTFUQl/EeDZdJuu9LywWvwLZv2voOi/RHy\nuTKCUGX+z7l8ObplkP5AxS67oWaLD0LYL6uWcrsBhq0YZgzsX3iI0qwBZ/hQ\n9ITkUt1brwArEq14xJlK7d6w+3vZU9lNjUeTHpjnb+ec/icWtaGUGzjF36Xq\n5pa5Nq1cMGBCJjdtN+6ddXNE0bnwxnNyAU99Z+wte8hjnuqVcChf9PH7bcFU\nrSZ0oBLwX7D4hM8opWzzbtwZfC3nvsq25qfSGBiUNTuFuz6lRGE5taaTWPXV\nYSehYXaN9LdJHT++sxUu5iF7OOoD59JXtf22kGOfEMsVdxWxP/jeBz7sia7o\nzI7KTidoArb/+JO288mFxnJpkCNZYRJ9aZ3JbdVawAdvdRBiOXH3fGuBv1hQ\ncqowfnfWM49RBNcfZYEelPqFy2dcPzJNUKzsP1uYz4q9hElJYET4Fsv8Ncj0\n2KJBnZciQ8zl7u8zsBYybjVBYZE2K3T0rhlyd5tUI5Jpew7CsTJakynBIpKm\nZxCa\r\n=05Gh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/hookable.js","gitHead":"87fb507acefea7c3e09e440c8a885791eced477a","scripts":{"lint":"eslint lib","test":"yarn lint && yarn jest","release":"standard-version && git push --follow-tags && npm publish","prepublish":"yarn test"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"repository":{"url":"git+https://github.com/jsless/hable.git","type":"git"},"_npmVersion":"6.9.0","description":"Awaitable hooks for Node.js","directories":{},"_nodeVersion":"12.4.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^24.1.0","eslint":"^5.13.0","codecov":"^3.0.0","standard-version":"^5.0.1","eslint-plugin-jest":"^22.2.2","eslint-plugin-node":"^8.0.1","eslint-plugin-import":"^2.16.0","eslint-plugin-promise":"^4.0.1","eslint-config-standard":"^12.0.0","eslint-plugin-standard":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hable_2.3.2_1567417512135_0.0827957720119108","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"hable","version":"3.0.0","keywords":["hook","hookable","plugin","tapable","tappable"],"license":"MIT","_id":"hable@3.0.0","maintainers":[{"name":"pi0","email":"pyapar@gmail.com"}],"contributors":[{"url":"@Atinux","name":"Sebastien Chopin"},{"url":"@clarkdo","name":"Clark Du"},{"url":"@pi0","name":"Pooya Parsa"}],"homepage":"https://github.com/jsless/hable#readme","bugs":{"url":"https://github.com/jsless/hable/issues"},"dist":{"shasum":"6de089b2df946635cf8134b9e4859f1b62de255f","tarball":"https://registry.npmjs.org/hable/-/hable-3.0.0.tgz","fileCount":13,"integrity":"sha512-7+G0/2/COR8pwteYFqHIVYfQpuEiO2HXwJrhCBJVgrNrl9O5eaUoJVDGXUJX+0RpGncNVTuestexjk1afj01wQ==","signatures":[{"sig":"MEYCIQDh6xapbQNWypEOhq7ku96hDXlA95p5LO9ORb2MUhgHsAIhAM9GlcTQyqo+lAFksP7Hc0TzdqPS5qqg7OWC14hmFyyX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27816,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVSf5CRA9TVsSAnZWagAAweEP/RBzPpcwV1KxHttsRtiw\nuCCxkfNom0XFlrKAktvveLn/ysbe4W05Ry7MQr+ZQAFaZnroUtB/Otj5iHOv\njf9NaXb5GL4c/uBtyVFfFrznLAZw8zCTRzeWbr9tdeBMv+v6tr5Fxdo+zrWT\nxkkLcDB9/ielcICWuhiDMeyNVF8foitKT0fkfOgWFpo6fVVxrkIjp3VKx05k\nidpZWnIoXMBw9sUu+hzI5WDnNczeEB+HxtDzCcf+zF1PaWDTCsXQ82KZ9RB1\naUuvjh/Xtc0Tn8AI18K3AK8GN3YjwJXpotCxrSyNQ0H8CwJrPLpQvMmam2fM\nmsha3a4K3J2n1pUKJpLHEzaIXq5WdifUmzI196sUPUpfpwSUUJ8TMY3Kt4ak\nR5JjdQI+7Gj6gczQy0De/tZZYhhkyM8vATf5LXbLK82sOcN5ult18h6ni1XC\nZxbABrS/iksCrGY5pOVCSKDDTOu7ajFTaC+FTaDlC9scnSu6iKHWdBT4KOSo\ngWj5jjN81z0rIoim4Ts0FTl8tz3HTtTKg/lc+tzzz1Fn9/GOn7VDAU+eBQtc\nKvEjG5oLIhZQhmCBUeV/Rz13r+tDk46VB5+SRcCGMcutaPRzzYS5fhFVbkTA\n35CQPMEyIyG40XCKEKx0a8F8205s06CoOYkkghONxeN63/SrTloohu8YxpMg\n2iZp\r\n=8h//\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/hable.js","types":"./index.d.ts","browser":"./dist/hable.umd.js","gitHead":"1a5cbc7359e84499d1a8aa9163c8e0763f18c4eb","scripts":{"lint":"eslint src","test":"yarn lint && yarn jest","build":"bili --module-name hable --minify --format cjs,umd,es src/hable.js","release":"yarn test && yarn build && standard-version && git push --follow-tags && npm publish"},"_npmUser":{"name":"pi0","email":"pyapar@gmail.com"},"repository":{"url":"git+https://github.com/jsless/hable.git","type":"git"},"_npmVersion":"6.12.1","description":"Awaitable hooks for Node.js","directories":{},"_nodeVersion":"12.13.1","_hasShrinkwrap":false,"devDependencies":{"bili":"^4.8.1","jest":"^24.9.0","eslint":"^6.3.0","codecov":"^3.5.0","babel-jest":"^24.9.0","standard-version":"^7.0.0","eslint-plugin-jest":"^22.17.0","eslint-plugin-node":"^10.0.0","eslint-plugin-import":"^2.18.2","eslint-plugin-promise":"^4.2.1","eslint-config-standard":"^14.1.0","eslint-plugin-standard":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/hable_3.0.0_1582639097302_0.06567391872915662","host":"s3://npm-registry-packages"}}},"time":{"created":"2018-01-26T23:00:58.686Z","modified":"2026-04-20T03:08:23.535Z","0.0.2":"2018-01-26T23:00:58.686Z","0.0.3":"2018-01-26T23:04:46.607Z","0.0.4":"2018-01-26T23:14:25.503Z","0.0.5":"2018-01-26T23:17:01.794Z","0.0.6":"2018-01-26T23:21:35.341Z","0.0.7":"2018-01-28T10:54:57.395Z","1.0.0":"2019-02-11T18:55:09.724Z","1.0.1":"2019-03-16T12:27:50.378Z","2.0.0":"2019-08-21T18:22:00.651Z","2.0.1":"2019-08-21T18:28:15.995Z","2.1.0":"2019-08-21T18:31:52.330Z","2.2.0":"2019-08-21T19:29:46.711Z","2.2.1":"2019-08-21T19:31:42.773Z","2.3.0":"2019-09-01T17:01:38.993Z","3.0.0-0":"2019-09-01T17:51:33.868Z","2.3.1":"2019-09-02T09:42:11.449Z","2.3.2":"2019-09-02T09:45:12.301Z","3.0.0":"2020-02-25T13:58:17.448Z"},"bugs":{"url":"https://github.com/jsless/hable/issues"},"license":"MIT","homepage":"https://github.com/jsless/hable#readme","keywords":["hook","hookable","plugin","tapable","tappable"],"repository":{"url":"git+https://github.com/jsless/hable.git","type":"git"},"description":"Awaitable hooks for Node.js","contributors":[{"url":"@Atinux","name":"Sebastien Chopin"},{"url":"@clarkdo","name":"Clark Du"},{"url":"@pi0","name":"Pooya Parsa"}],"maintainers":[{"email":"atinux@gmail.com","name":"atinux"},{"email":"pyapar@gmail.com","name":"pi0"},{"email":"pimlie@hotmail.com","name":"pimlie"},{"email":"clark.duxin@gmail.com","name":"clarkdo"}],"readme":"# Hable\n\n[![CircleCI](https://img.shields.io/circleci/project/github/jsless/hable.svg?style=flat-square)](https://circleci.com/gh/jsless/hable)\n[![Codecov](https://img.shields.io/codecov/c/github/jsless/hable.svg?style=flat-square)](https://codecov.io/gh/jsless/hable)\n[![npm](https://img.shields.io/npm/v/hable.svg?style=flat-square)](https://www.npmjs.com/package/hable)\n[![npm](https://img.shields.io/npm/dt/hable.svg?style=flat-square)](https://www.npmjs.com/package/hable)\n[![size](http://img.badgesize.io/https://unpkg.com/hable/dist/hable.cjs.min.js?compression=gzip&style=flat-square)](https://unpkg.com/hable)\n\n> Awaitable hooks for Node.js\n\n## Install\n\nUsing yarn:\n\n```bash\nyarn add hable\n```\n\nUsing npm:\n\n```bash\nnpm install hable\n```\n\n## Usage\n\n**Extend your base class from Hable:**\n\n```js\nimport Hookable from 'hable'\n\nexport default class Foo extends Hookable {\n  constructor() {\n    // Call to parent to initialize\n    super()\n    // Initialize Hookable with custom logger\n    // super(consola)\n  }\n\n  async someFunction() {\n    // Call and wait for `hook1` hooks (if any) sequential\n    await this.callHook('hook1')\n\n    // Call and wait for `hook2` hooks (if any) in parallel\n    await this.callHookParallel('hook2')\n  }\n}\n```\n\n**Inside plugins, register for any hook:**\n\n```js\nconst lib = newFooLib()\n\n// Register a handler for `hook2`\nlib.hook('hook2', async () => { /* ... */ })\n\n// Register multiply handlers at once\nlib.hookObj({\n  hook1: async () => { /* ... */ },\n  hook2: [ /* can be also an array */ ]\n})\n```\n\n## Hookable class\n\n### `constructor(logger)`\n\nCustom logger. Default logger is `console` but you can use your own or [consola](https://github.com/nuxt/consola).\n\nIt should be an object implementing following functions:\n- warn\n- error\n- fatal (optional)\n\n### `hook (name, fn)`\n\nRegister a handler for a specific hook. `fn` can be a single function or an array.\n\n### `addHooks(configHooks)`\n\nFlatten and register hooks object.\n\nExample:\n\n```js\nhookable.addHooks({\n  test: {\n    before: () => {},\n    after: () => {}\n  }\n})\n\n```\n\nThis registers `test:before` and `test:after` hooks at bulk.\n\n### `async callHook (name, ...args)`\n\nUsed by class itself to **sequentially** call handlers of a specific hook.\n\n### `deprecateHook (old, name)`\n\nDeprecate hook called `old` in favor of `name` hook.\n\n### `deprecateHooks (deprecatedHooks)`\n\nDeprecate all hooks from an object (keys are old and values or newer ones).\n\n### `clearHook (name)`\n\nClear all hooks for a specific hook.\n\n### `clearHooks ()`\n\nClear all hooks registered in the class.\n\n### `flatHooks (hooksObj)`\n\nRegister many hooks using an object.\n\n## Credits\n\nExtracted from [Nuxt.js](github.com/nuxt/nuxt.js) hooks system. Original author: [Sébastien Chopin](https://github.com/Atinux).\n\n## License\n\nMIT\n","readmeFilename":"README.md"}