- changed; BREAKING - Restrict to node >= v4
- changed; BREAKING - remove parameter flattening from
callHook,callSyncHookandcallThenableHook - changed; when no callback is provided to
pre/post/hookreturn a thenable - added;
module.isThenable - added;
addThenableHooksandcallThenableHook - added; allow thenable middleware
- fixed; bug with incorrectly passed options in module.attach
- added; aliases
addAsyncHooksandcallAsyncHook - changed; allow passing multiple qualified hooks to
hookable - fixed; major bug with shared caches in grappling hook objects when attaching to prototype
- changed; bumped dependencies
- improved; tests
- changed; sync middleware errors caught in async hooks
- added; storage and retrieval of presets
- improved; sync hooks
- fixed; bug with parallel middleware passing errors incorrectly due to overzealous dezalgofication
- fixed; bug with final callback being called too soon in wrapped methods w/o registered post middleware
- improved; drop unnecessary default value for
argsin `iterateAsyncMiddleware - fixed; #11 incorrectly passed parameters from wrapped methods
- fixed; #10 examples
- added;
addSyncHooksandcallSyncHookfor wrapping and executing hooks synchronously.
- added; allow configuration of other qualifiers than
preandpost
- improved; tests
- changed; bubble errors from sync middleware
- improved; dezalgofy middleware callbacks, i.e. enforce asynchronous resolution
- improved; tests
- fixed; incorrect handling of callback argument in wrapped methods
- improved; tests
- improved; error handling
- added; parallel middleware handling
- changed; bumped dependencies
- changed; dropped asyncdi dependency
- changed; BREAKING - allow async callbacks with any parameter name
- added; initial version allowing pre/post hooking with synchronous and asynchronous middleware