Carbon
This version brings a lot of internal refactoring and breaking changes + some new operators.
Now swift-async-algorithms has been anounced, this library can be seen as a companion for the Apple repo.
For now there is an overlap between both libraries, but when swift-async-algorithms becomes stable the overlapping operators while be deprecated in AsyncExtensions.
Nevertheless AsyncExtensions will continue to provide the operators that the community needs and are not provided by Apple.
AsyncBufferedChannel/AsyncThrowingBufferedChannel: is the equivalent toAsyncChannelfrom Apple. The difference is that back-pressure is handled with a stack and the send operation is not suspending.- Subjects: the
subjectsuffix has been adopted to all the "hot"AsyncSequencewith a shared output. A throwing counterpart has been added. zipandmergeare top level functions to match Apple repo.AsyncThrowingJustSequence: anAsyncSequencethat takes a throwing closure to compute the only element to emit.AsyncStream.pipe(): creates andAsyncStreamby escaping theContinuationand returning a tuple to manipulate the inputs and outputs of the stream.mapToResult(): maps events (elements or failure) from anAsyncSequenceto aResult. The resultingAsyncSequencecannot fail.AsyncLazySequence: is a renaming to match Apple repo for creating anAsyncSequencefrom aSequence.