Rebecca Stevens
Rebecca Stevens
I'm actually kind of curious whether using [callbags](https://github.com/callbag/callbag) would be the best approach. They're super performant and might even be able to dedup a lot of commonalities between the sync...
Checkout this talk: https://www.youtube.com/watch?v=Ir9-EBbc9fg
I've done a bit of testing on whether using callbags would be a viable approach. Here's how a couple of the operations would look: ```ts export const aggregate = (cb:...
Looks like we'll have to avoid creating any intersections of functions. There are also problems with using overloads as they work in the same way.
This definition seems to resolve most type issues: ```ts type Operation = ( i: AsyncIterable | Iterable ) => AsyncIterable & Iterable ``` However, it isn't "correct" and thus if...
I think the only way to properly get around this issue is to split all operations into explicit sync and async version. However, this will not be as elegant, so...
@vitaly-t I've done a bunch more looking into this and things aren't looking great 😕 I've spent the last 8 hours or so converting all the function overloads to a...
Also, splitting the operations will allow for the sync and async versions to be tree-shaken from each other, thus this would be a performance optimization.
> Please remind me, what was the initial issue of changing so much code that's in the current v1.6.4 release? Did the types not work there correctly? The types "work"...
I think I've been able to recreate the issue you were having. Updating the dependencies seems to have fixed the issue for me. Hopefully it will fix the issue for...