Allow multimethods to be treated as interceptors #526
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In a service I was working on I wanted to use a multimethod as an interceptor. It errored out and after a little digging I realized that the
IntoInterceptor
was only extended to functions but not multimethod functions. One fix would be to wrap my multimethod function in a normal function closure, but figured extendingIntoInterceptor
to multimethods would help prevent others from running into the same issue.The tests are failing and I can't understand why. For instance, if you repeat an interceptor derived from a function in the interceptor chain, executing the chain doesn't result in repeat entries. Probably some subtlety with how the tests are setup or
IntoInterceptor
is implemented from fn/multifns, but I couldn't get to the bottom of it. Any ideas?