before/after hook: (ctx, next). before hooks must call next() to let the event
through (returning without it stops the event, like ctx.abort()); after hooks receive
no usable next. The context type is inferred from the event name through
HookContextMap; for a custom event it is unknown unless the handler annotates it.
Type Parameters
Parameters
Returns
void | Promise<void>