Open anqit opened 1 month ago
Another place that comes to mind is using tuples and *:
could simplify Combiner
quite a bit. I'm guessing none of this is a new thought, so curious if there are plans for these sorts of updates?
I was already planning for some Scala 3 extensions. I don't think I would change Alternator
. Instead I would add Scala 3 specific operators. This is because you sometimes explicitly want either even in Scala 3. If the left hand and the right hand side have the same type for example. But I agree, that besides that a union based API would be nice.
Also, having for the same ops different return types in different Scala versions feels not so clean to me. We already added something similar to zio schema.
Is there work started for this at all? I wouldn't mind taking a stab at pushing that over the finish line, feels like a good first ZIO contribution!
/bounty $450 for Scala 3-specific composition variants for any of the Endpoint methods that currently use Alternator
or Combiner
, together with accompanying Scala-3-specific test cases.
/attempt #3125
with your implementation plan/claim #3125
in the PR body to claim the bountyThank you for contributing to zio/zio-http!
Add a bounty • Share on socials
Attempt | Started (GMT+0) | Solution |
---|---|---|
🟢 @987Nabil | Sep 19, 2024, 1:34:40 AM | #3156 |
/attempt #3125
Algora profile | Completed bounties | Tech | Active attempts | Options |
---|---|---|---|---|
@987Nabil | 92 ZIO bounties + 4 bounties from 2 projects |
Scala |
Cancel attempt |
💡 @987Nabil submitted a pull request that claims the bounty. You can visit your bounty board to reward.
Is this issue open, I would like to have a go at it if it's open.
Thank you
Is your feature request related to a problem? Please describe. I am trying to create an
Endpoint
with multiple output error possibilities, and was hoping the combined error type would end up being a union type, but it looks like the implicitAlternator
being used results inEither
being used instead.Alternator
is sealed, so adding my own, while a simple implementation, is not possible.Describe the solution you'd like I would like an
Alternator
instance that combines types using union types instead of nestingEither
s.Describe alternatives you've considered None, just living with nested
Either
sAdditional context should be as simple as:
I'm wondering if there are other places where converting to union types over either's, or other scala 3 type updates in general, could be useful