From 27d0f57fa2e4da15bd2811dfab509d68422ea594 Mon Sep 17 00:00:00 2001
From: Red Davis
Date: Tue, 17 May 2022 06:29:59 +0100
Subject: [PATCH] Update documentation (#29)
---
.documentation/Actors.html | 30 +-
.../Actors/CurrentElementAsyncSequence.html | 32 +-
.documentation/Classes.html | 16 +-
.../Classes/TimerAsyncSequence.html | 16 +-
.documentation/Enums.html | 14 +-
.../Enums/AsyncSequenceCompletion.html | 14 +-
.documentation/Extensions.html | 54 ++-
.documentation/Extensions/AsyncSequence.html | 170 ++++++-
.documentation/Extensions/AsyncStream.html | 16 +-
.../Extensions/AsyncStream/Continuation.html | 14 +-
.../Extensions/AsyncThrowingStream.html | 16 +-
.../AsyncThrowingStream/Continuation.html | 14 +-
.documentation/Extensions/Sequence.html | 227 ++++++++++
.documentation/Extensions/Task.html | 16 +-
.documentation/Structs.html | 206 ++++++++-
.../Structs/AnyAsyncSequenceable.html | 16 +-
.../Structs/AnyThrowingAsyncSequenceable.html | 16 +-
.../Structs/ChainAsyncSequence.html | 421 ++++++++++++++++++
.../Structs/CombineLatest3AsyncSequence.html | 18 +-
.../Structs/CombineLatestAsyncSequence.html | 18 +-
.../Structs/DebounceAsyncSequence.html | 22 +-
.../Structs/DelayAsyncSequence.html | 18 +-
.documentation/Structs/Empty.html | 16 +-
.documentation/Structs/Fail.html | 18 +-
.documentation/Structs/Just.html | 18 +-
.../Structs/Merge3AsyncSequence.html | 18 +-
.../Structs/MergeAsyncSequence.html | 18 +-
.../Structs/PassthroughAsyncSequence.html | 16 +-
.../RemoveDuplicatesAsyncSequence.html | 18 +-
.../Structs/ReplaceErrorAsyncSequence.html | 18 +-
.../Structs/SequenceAsyncSequence.html | 331 ++++++++++++++
.../SequenceAsyncSequenceIterator.html | 270 +++++++++++
.../Structs/SharedAsyncSequence.html | 28 +-
.../Structs/ThrottleAsyncSequence.html | 22 +-
.../ThrowingPassthroughAsyncSequence.html | 16 +-
.documentation/Structs/Zip3AsyncSequence.html | 18 +-
.documentation/Structs/ZipAsyncSequence.html | 18 +-
.../Contents/Resources/Documents/Actors.html | 30 +-
.../Actors/CurrentElementAsyncSequence.html | 32 +-
.../Contents/Resources/Documents/Classes.html | 16 +-
.../Documents/Classes/TimerAsyncSequence.html | 16 +-
.../Contents/Resources/Documents/Enums.html | 14 +-
.../Enums/AsyncSequenceCompletion.html | 14 +-
.../Resources/Documents/Extensions.html | 54 ++-
.../Documents/Extensions/AsyncSequence.html | 170 ++++++-
.../Documents/Extensions/AsyncStream.html | 16 +-
.../Extensions/AsyncStream/Continuation.html | 14 +-
.../Extensions/AsyncThrowingStream.html | 16 +-
.../AsyncThrowingStream/Continuation.html | 14 +-
.../Documents/Extensions/Sequence.html | 227 ++++++++++
.../Resources/Documents/Extensions/Task.html | 16 +-
.../Contents/Resources/Documents/Structs.html | 206 ++++++++-
.../Structs/AnyAsyncSequenceable.html | 16 +-
.../Structs/AnyThrowingAsyncSequenceable.html | 16 +-
.../Documents/Structs/ChainAsyncSequence.html | 421 ++++++++++++++++++
.../Structs/CombineLatest3AsyncSequence.html | 18 +-
.../Structs/CombineLatestAsyncSequence.html | 18 +-
.../Structs/DebounceAsyncSequence.html | 22 +-
.../Documents/Structs/DelayAsyncSequence.html | 18 +-
.../Resources/Documents/Structs/Empty.html | 16 +-
.../Resources/Documents/Structs/Fail.html | 18 +-
.../Resources/Documents/Structs/Just.html | 18 +-
.../Structs/Merge3AsyncSequence.html | 18 +-
.../Documents/Structs/MergeAsyncSequence.html | 18 +-
.../Structs/PassthroughAsyncSequence.html | 16 +-
.../RemoveDuplicatesAsyncSequence.html | 18 +-
.../Structs/ReplaceErrorAsyncSequence.html | 18 +-
.../Structs/SequenceAsyncSequence.html | 331 ++++++++++++++
.../SequenceAsyncSequenceIterator.html | 270 +++++++++++
.../Structs/SharedAsyncSequence.html | 28 +-
.../Structs/ThrottleAsyncSequence.html | 22 +-
.../ThrowingPassthroughAsyncSequence.html | 16 +-
.../Documents/Structs/Zip3AsyncSequence.html | 18 +-
.../Documents/Structs/ZipAsyncSequence.html | 18 +-
.../Contents/Resources/Documents/badge.svg | 16 +-
.../Contents/Resources/Documents/index.html | 127 ++++--
.../Contents/Resources/Documents/search.json | 2 +-
.../Resources/Documents/undocumented.json | 8 +-
.../.docset/Contents/Resources/docSet.dsidx | Bin 53248 -> 57344 bytes
.documentation/docsets/.tgz | Bin 115931 -> 120855 bytes
.documentation/index.html | 127 ++++--
.documentation/search.json | 2 +-
.documentation/undocumented.json | 2 +-
83 files changed, 4374 insertions(+), 364 deletions(-)
create mode 100644 .documentation/Extensions/Sequence.html
create mode 100644 .documentation/Structs/ChainAsyncSequence.html
create mode 100644 .documentation/Structs/SequenceAsyncSequence.html
create mode 100644 .documentation/Structs/SequenceAsyncSequenceIterator.html
create mode 100644 .documentation/docsets/.docset/Contents/Resources/Documents/Extensions/Sequence.html
create mode 100644 .documentation/docsets/.docset/Contents/Resources/Documents/Structs/ChainAsyncSequence.html
create mode 100644 .documentation/docsets/.docset/Contents/Resources/Documents/Structs/SequenceAsyncSequence.html
create mode 100644 .documentation/docsets/.docset/Contents/Resources/Documents/Structs/SequenceAsyncSequenceIterator.html
diff --git a/.documentation/Actors.html b/.documentation/Actors.html
index e5f17ff..692e01a 100644
--- a/.documentation/Actors.html
+++ b/.documentation/Actors.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -171,15 +183,15 @@ Actors
A async sequence that wraps a single value and emits a new element whenever the element changes.
let sequence = CurrentElementAsyncSequence ( 0 )
-print ( await sequence . element )
+print ( await sequence . element )
-await stream . yield ( 1 )
-print ( await sequence . element )
+await stream . yield ( 1 )
+print ( await sequence . element )
-await stream . yield ( 2 )
-await stream . yield ( 3 )
-await stream . yield ( 4 )
-print ( await sequence . element )
+await stream . yield ( 2 )
+await stream . yield ( 3 )
+await stream . yield ( 4 )
+print ( await sequence . element )
// Prints:
// 0
@@ -193,7 +205,7 @@ Actors
Declaration
Swift
-
public actor CurrentElementAsyncSequence < Element > : AsyncSequence
+
public actor CurrentElementAsyncSequence < Element > : AsyncSequence
@@ -205,7 +217,7 @@ Declaration
diff --git a/.documentation/Actors/CurrentElementAsyncSequence.html b/.documentation/Actors/CurrentElementAsyncSequence.html
index 90cccb5..ffc1d4f 100644
--- a/.documentation/Actors/CurrentElementAsyncSequence.html
+++ b/.documentation/Actors/CurrentElementAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -153,21 +165,21 @@ CurrentElementAsyncSequence
-
public actor CurrentElementAsyncSequence < Element > : AsyncSequence
+
public actor CurrentElementAsyncSequence < Element > : AsyncSequence
A async sequence that wraps a single value and emits a new element whenever the element changes.
let sequence = CurrentElementAsyncSequence ( 0 )
-print ( await sequence . element )
+print ( await sequence . element )
-await stream . yield ( 1 )
-print ( await sequence . element )
+await stream . yield ( 1 )
+print ( await sequence . element )
-await stream . yield ( 2 )
-await stream . yield ( 3 )
-await stream . yield ( 4 )
-print ( await sequence . element )
+await stream . yield ( 2 )
+await stream . yield ( 3 )
+await stream . yield ( 4 )
+print ( await sequence . element )
// Prints:
// 0
@@ -298,7 +310,7 @@ AsyncSequence
Declaration
Swift
-
nonisolated public func makeAsyncIterator () -> AsyncStream < Element >. Iterator
+
nonisolated public func makeAsyncIterator () -> AsyncStream < Element >. Iterator
@@ -453,7 +465,7 @@ Parameters
diff --git a/.documentation/Classes.html b/.documentation/Classes.html
index 2da3109..4a4c69f 100644
--- a/.documentation/Classes.html
+++ b/.documentation/Classes.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -173,7 +185,7 @@ Classes
let sequence = TimerAsyncSequence ( interval : 1 )
let start = Date . now
-for element in await sequence {
+for element in await sequence {
print ( element )
}
@@ -201,7 +213,7 @@ Declaration
diff --git a/.documentation/Classes/TimerAsyncSequence.html b/.documentation/Classes/TimerAsyncSequence.html
index 534ae30..f2e6f7c 100644
--- a/.documentation/Classes/TimerAsyncSequence.html
+++ b/.documentation/Classes/TimerAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -161,7 +173,7 @@ TimerAsyncSequence
let sequence = TimerAsyncSequence ( interval : 1 )
let start = Date . now
-for element in await sequence {
+for element in await sequence {
print ( element )
}
@@ -350,7 +362,7 @@ Return Value
diff --git a/.documentation/Enums.html b/.documentation/Enums.html
index 20624de..bfcf14f 100644
--- a/.documentation/Enums.html
+++ b/.documentation/Enums.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -189,7 +201,7 @@ Declaration
diff --git a/.documentation/Enums/AsyncSequenceCompletion.html b/.documentation/Enums/AsyncSequenceCompletion.html
index eed8ab4..1eb3ea2 100644
--- a/.documentation/Enums/AsyncSequenceCompletion.html
+++ b/.documentation/Enums/AsyncSequenceCompletion.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -223,7 +235,7 @@ Declaration
diff --git a/.documentation/Extensions.html b/.documentation/Extensions.html
index ff32b5c..4321d63 100644
--- a/.documentation/Extensions.html
+++ b/.documentation/Extensions.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -267,10 +279,50 @@ Declaration
+
+
+
+
+
+
+
+
+
+
+
+
Declaration
+
+
Swift
+
public extension Sequence
+
+
+
+
+
+
+
+
diff --git a/.documentation/Extensions/AsyncSequence.html b/.documentation/Extensions/AsyncSequence.html
index 611ebb3..e585d7f 100644
--- a/.documentation/Extensions/AsyncSequence.html
+++ b/.documentation/Extensions/AsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -275,7 +287,7 @@ Return Value
Declaration
Swift
-
public func first () async rethrows -> Element ?
+
public func first () async rethrows -> Element ?
@@ -300,14 +312,14 @@ Declaration
Collect elements from a sequence.
// Collect all elements.
-var values = await self . sequence . collect ()
+var values = await self . sequence . collect ()
print ( values )
// Prints:
// [1, 2, 3]
// Collect only 2 elements.
-values = await self . sequence . collect ( 2 )
+values = await self . sequence . collect ( 2 )
print ( values )
// Prints:
@@ -319,7 +331,7 @@ Declaration
Declaration
Swift
-
public func collect ( _ numberOfElements : Int ? = . none ) async rethrows -> [ Element ]
+
public func collect ( _ numberOfElements : Int ? = . none ) async rethrows -> [ Element ]
@@ -387,7 +399,7 @@ Declaration
Swift
@discardableResult
-public func sink ( _ receiveValue : @escaping ( Element ) async -> Void ) -> Task < Void , Error >
+
public func sink ( _ receiveValue : @escaping ( Element ) async -> Void ) -> Task < Void , Error >
@@ -458,8 +470,8 @@ Declaration
Swift
@discardableResult
public func sink (
- receiveValue : @escaping ( Element ) async -> Void ,
- receiveCompletion : @escaping ( AsyncSequenceCompletion < Error > ) async -> Void
+ receiveValue : @escaping ( Element ) async -> Void ,
+ receiveCompletion : @escaping ( AsyncSequenceCompletion < Error > ) async -> Void
) -> Task < Void , Never >
@@ -585,6 +597,120 @@ Return Value
+
+
+
+
+
+
+
+
+
+
+
An asynchronous sequence that chains two async sequences.
+
+
The combined sequence first emits the all the values from the first sequence
+and then emits all values from the second.
+
let sequenceA = AsyncStream < Int > { continuation in
+ continuation . yield ( 1 )
+ continuation . yield ( 2 )
+ continuation . yield ( 3 )
+ continuation . finish ()
+}
+
+let sequenceB = AsyncStream < Int > { continuation in
+ continuation . yield ( 4 )
+ continuation . yield ( 5 )
+ continuation . yield ( 6 )
+ continuation . finish ()
+}
+
+let sequenceC = AsyncStream < Int > { continuation in
+ continuation . yield ( 7 )
+ continuation . yield ( 8 )
+ continuation . yield ( 9 )
+ continuation . finish ()
+}
+
+for await value in sequenceA . chain ( with : sequenceB ) . chain ( with : sequenceC ) {
+ print ( value )
+}
+
+// Prints:
+// 1
+// 2
+// 3
+// 4
+// 5
+// 6
+// 7
+// 8
+// 9
+
+
+
+
+
Declaration
+
+
Swift
+
public func chain < P > ( with sequence : P ) -> ChainAsyncSequence < Self , P > where P : AsyncSequence , Self . Element == P . Element
+
+
+
+
+
Parameters
+
+
+
+
+
+ lhs
+
+
+
+
+
The first async sequence to iterate through.
+
+
+
+
+
+
+ rhs
+
+
+
+
+
The second async sequence to iterate through.
+
+
+
+
+
+
+
+
Return Value
+
A async sequence chains the two sequences.
+
+
+
+
+
+
@@ -638,7 +764,7 @@
Combine latest
continuation . finish ()
}
-for await value in streamA . combineLatest ( streamB , streamC ) {
+for await value in streamA . combineLatest ( streamB , streamC ) {
print ( value )
}
@@ -734,7 +860,7 @@ Return Value
continuation . finish ()
}
-for await value in self . streamA . combineLatest ( self . streamB ) {
+for await value in self . streamA . combineLatest ( self . streamB ) {
print ( value )
}
@@ -816,9 +942,9 @@ Debounce
or high-volume async sequences where you need to reduce the number of elements emitted to a rate you specify.
let stream = AsyncStream < Int > { continuation in
continuation . yield ( 0 )
- try ? await Task . sleep ( nanoseconds : 200_000_000 )
+ try ? await Task . sleep ( nanoseconds : 200_000_000 )
continuation . yield ( 1 )
- try ? await Task . sleep ( nanoseconds : 200_000_000 )
+ try ? await Task . sleep ( nanoseconds : 200_000_000 )
continuation . yield ( 2 )
continuation . yield ( 3 )
continuation . yield ( 4 )
@@ -826,7 +952,7 @@ Debounce
continuation . finish ()
}
-for element in try await self . stream . debounce ( for : 0.1 ) {
+for element in try await self . stream . debounce ( for : 0.1 ) {
print ( element )
}
@@ -918,7 +1044,7 @@ Delay
}
let start = Date . now
-for element in try await self . stream . delay ( for : 0.5 ) {
+for element in try await self . stream . delay ( for : 0.5 ) {
print ( " \( element ) - \( Date . now . timeIntervalSince ( start ) ) " )
}
@@ -1020,7 +1146,7 @@ Merge
continuation . finish ()
}
-for await value in streamA . merge ( with : streamB , streamC ) {
+for await value in streamA . merge ( with : streamB , streamC ) {
print ( value )
}
@@ -1114,7 +1240,7 @@ Return Value
continuation . finish ()
}
-for await value in streamA . merge ( with : streamB ) {
+for await value in streamA . merge ( with : streamB ) {
print ( value )
}
@@ -1199,7 +1325,7 @@ Replace error
)
. replaceError ( with : 0 )
-for await value in stream {
+for await value in stream {
print ( value )
}
@@ -1315,9 +1441,9 @@ Throttle
interval you specify. Other elements received within the throttling interval aren’t emitted.
let stream = AsyncStream < Int > { continuation in
continuation . yield ( 0 )
- try ? await Task . sleep ( nanoseconds : 100_000_000 )
+ try ? await Task . sleep ( nanoseconds : 100_000_000 )
continuation . yield ( 1 )
- try ? await Task . sleep ( nanoseconds : 100_000_000 )
+ try ? await Task . sleep ( nanoseconds : 100_000_000 )
continuation . yield ( 2 )
continuation . yield ( 3 )
continuation . yield ( 4 )
@@ -1325,7 +1451,7 @@ Throttle
continuation . finish ()
}
-for element in try await self . stream . throttle ( for : 0.05 , latest : true ) {
+for element in try await self . stream . throttle ( for : 0.05 , latest : true ) {
print ( element )
}
@@ -1436,7 +1562,7 @@ Zip
continuation . finish ()
}
-for await value in streamA . zip ( streamB , streamC ) {
+for await value in streamA . zip ( streamB , streamC ) {
print ( value )
}
@@ -1529,7 +1655,7 @@ Return Value
continuation . finish ()
}
-for await value in streamA . zip ( streamB ) {
+for await value in streamA . zip ( streamB ) {
print ( value )
}
@@ -1677,7 +1803,7 @@ Return Value
diff --git a/.documentation/Extensions/AsyncStream.html b/.documentation/Extensions/AsyncStream.html
index d19d271..4cdcb5d 100644
--- a/.documentation/Extensions/AsyncStream.html
+++ b/.documentation/Extensions/AsyncStream.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -203,7 +215,7 @@ Declaration
public init (
_ elementType : Element . Type = Element . self ,
bufferingPolicy limit : AsyncStream < Element >. Continuation . BufferingPolicy = . unbounded ,
- _ build : @escaping ( AsyncStream < Element >. Continuation ) async -> Void
+ _ build : @escaping ( AsyncStream < Element >. Continuation ) async -> Void
)
@@ -301,7 +313,7 @@
Declaration
diff --git a/.documentation/Extensions/AsyncStream/Continuation.html b/.documentation/Extensions/AsyncStream/Continuation.html
index 7bf0c52..5fa591b 100644
--- a/.documentation/Extensions/AsyncStream/Continuation.html
+++ b/.documentation/Extensions/AsyncStream/Continuation.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -213,7 +225,7 @@
Parameters
diff --git a/.documentation/Extensions/AsyncThrowingStream.html b/.documentation/Extensions/AsyncThrowingStream.html
index a08bb66..bcedac5 100644
--- a/.documentation/Extensions/AsyncThrowingStream.html
+++ b/.documentation/Extensions/AsyncThrowingStream.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -203,7 +215,7 @@
Declaration
public init (
_ elementType : Element . Type = Element . self ,
bufferingPolicy limit : AsyncThrowingStream < Element , Failure >. Continuation . BufferingPolicy = . unbounded ,
- _ build : @escaping ( AsyncThrowingStream < Element , Failure >. Continuation ) async -> Void
+ _ build : @escaping ( AsyncThrowingStream < Element , Failure >. Continuation ) async -> Void
) where Failure == Error
@@ -301,7 +313,7 @@ Declaration
diff --git a/.documentation/Extensions/AsyncThrowingStream/Continuation.html b/.documentation/Extensions/AsyncThrowingStream/Continuation.html
index ccb8be7..cd4e86e 100644
--- a/.documentation/Extensions/AsyncThrowingStream/Continuation.html
+++ b/.documentation/Extensions/AsyncThrowingStream/Continuation.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -213,7 +225,7 @@ Parameters
diff --git a/.documentation/Extensions/Sequence.html b/.documentation/Extensions/Sequence.html
new file mode 100644
index 0000000..4176a17
--- /dev/null
+++ b/.documentation/Extensions/Sequence.html
@@ -0,0 +1,227 @@
+
+
+
+ Sequence Extension Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Docs (100% documented)
+
+
+
+
+
+ Reference
+
+ Sequence Extension Reference
+
+
+
+
+
+
+
+ Sequence
+
+
+
+
public extension Sequence
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
An async sequence that contains all the elements of
+the current sequence.
+
let sequence = [ 0 , 1 , 2 , 3 ] . async
+
+for await value in sequence {
+ print ( value )
+}
+
+// Prints:
+// 1
+// 2
+// 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.documentation/Extensions/Task.html b/.documentation/Extensions/Task.html
index 1f0a041..2b3537a 100644
--- a/.documentation/Extensions/Task.html
+++ b/.documentation/Extensions/Task.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -197,7 +209,7 @@ Available where Success
== Nev
Declaration
Swift
-
public static func sleep ( seconds duration : TimeInterval ) async throws
+
public static func sleep ( seconds duration : TimeInterval ) async throws
@@ -228,7 +240,7 @@ Parameters
diff --git a/.documentation/Structs.html b/.documentation/Structs.html
index b4d91fe..049f8f2 100644
--- a/.documentation/Structs.html
+++ b/.documentation/Structs.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -218,6 +230,74 @@ Declaration
+
+
+
+
+
+
+
+
An asynchronous sequence that chains two async sequences.
+
+
The combined sequence first emits the all the values from the first sequence
+and then emits all values from the second.
+
let sequenceA = AsyncStream < Int > { continuation in
+ continuation . yield ( 1 )
+ continuation . yield ( 2 )
+ continuation . yield ( 3 )
+ continuation . finish ()
+}
+
+let sequenceB = AsyncStream < Int > { continuation in
+ continuation . yield ( 4 )
+ continuation . yield ( 5 )
+ continuation . yield ( 6 )
+ continuation . finish ()
+}
+
+let sequenceC = AsyncStream < Int > { continuation in
+ continuation . yield ( 7 )
+ continuation . yield ( 8 )
+ continuation . yield ( 9 )
+ continuation . finish ()
+}
+
+for await value in sequenceA <> sequenceB <> sequenceC {
+ print ( value )
+}
+
+// Prints:
+// 1
+// 2
+// 3
+// 4
+// 5
+// 6
+// 7
+// 8
+// 9
+
+
+
See more
+
+
+
Declaration
+
+
Swift
+
public struct ChainAsyncSequence < P , Q > : AsyncSequence where P : AsyncSequence , Q : AsyncSequence , P . Element == Q . Element
+
extension ChainAsyncSequence : AsyncIteratorProtocol
+
+
+
+
+
+
@@ -260,7 +340,7 @@ Declaration
continuation . finish ()
}
-for await value in streamA . combineLatest ( streamB , streamC ) {
+for await value in streamA . combineLatest ( streamB , streamC ) {
print ( value )
}
@@ -322,7 +402,7 @@ Declaration
continuation . finish ()
}
-for await value in streamA . combineLatest ( streamB ) {
+for await value in streamA . combineLatest ( streamB ) {
print ( value )
}
@@ -368,9 +448,9 @@ Declaration
or high-volume async sequences where you need to reduce the number of elements emitted to a rate you specify.
let stream = AsyncStream < Int > { continuation in
continuation . yield ( 0 )
- try ? await Task . sleep ( nanoseconds : 200_000_000 )
+ try ? await Task . sleep ( nanoseconds : 200_000_000 )
continuation . yield ( 1 )
- try ? await Task . sleep ( nanoseconds : 200_000_000 )
+ try ? await Task . sleep ( nanoseconds : 200_000_000 )
continuation . yield ( 2 )
continuation . yield ( 3 )
continuation . yield ( 4 )
@@ -378,7 +458,7 @@ Declaration
continuation . finish ()
}
-for element in try await self . stream . debounce ( for : 0.1 ) {
+for element in try await self . stream . debounce ( for : 0.1 ) {
print ( element )
}
@@ -424,7 +504,7 @@ Declaration
}
let start = Date . now
-for element in try await self . stream . delay ( for : 0.5 ) {
+for element in try await self . stream . delay ( for : 0.5 ) {
print ( " \( element ) - \( Date . now . timeIntervalSince ( start ) ) " )
}
@@ -511,7 +591,7 @@ Declaration
let stream = Fail < Int , TestError > ( error : TestError ())
do {
- for try await value in stream {
+ for try await value in stream {
print ( value )
}
} catch {
@@ -552,7 +632,7 @@ Declaration
An asynchronous sequence that only emits the provided value once.
let stream = Just ( 1 )
-for await value in stream {
+for await value in stream {
print ( value )
}
@@ -606,7 +686,7 @@ Declaration
continuation . finish ()
}
-for await value in self . streamA . merge ( with : self . streamB , self . streamC ) {
+for await value in self . streamA . merge ( with : self . streamB , self . streamC ) {
print ( value )
}
@@ -664,7 +744,7 @@ Declaration
continuation . finish ()
}
-for await value in streamA . merge ( with : streamB ) {
+for await value in streamA . merge ( with : streamB ) {
print ( value )
}
@@ -714,7 +794,7 @@ Declaration
sequence . yield ( 2 )
sequence . finish ()
-for await value in sequence {
+for await value in sequence {
print ( value )
}
@@ -760,7 +840,7 @@ Declaration
continuation . finish ()
}
-for await value in stream . removeDuplicates () {
+for await value in stream . removeDuplicates () {
print ( value )
}
@@ -803,7 +883,7 @@ Declaration
)
. replaceError ( with : 0 )
-for await value in stream {
+for await value in stream {
print ( value )
}
@@ -825,6 +905,86 @@ Declaration
+
+
+
+
+
+
+
+
An async version of Sequence
. Generally used to turn any Sequence
into
+it’s async counterpart.
+
let sequence = [ 0 , 1 , 2 , 3 ] . async
+
+for await value in sequence {
+ print ( value )
+}
+
+// Prints:
+// 1
+// 2
+// 3
+
+
+
See more
+
+
+
Declaration
+
+
Swift
+
public struct SequenceAsyncSequence < P > : AsyncSequence where P : Sequence
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
SequenceAsyncSequenceIterator
+
+
+
+
+
+
+
+
+
+
+
+
+
Declaration
+
+
Swift
+
public struct SequenceAsyncSequenceIterator < P > : AsyncIteratorProtocol where P : Sequence
+
+
+
+
+
+
@@ -855,16 +1015,16 @@ Declaration
. shared ()
Task {
- let values = try await self . stream . collect ()
+ let values = try await self . stream . collect ()
// ...
}
Task . detached {
- let values = try await self . stream . collect ()
+ let values = try await self . stream . collect ()
// ...
}
-let values = try await self . stream . collect ()
+let values = try await self . stream . collect ()
// ...
@@ -901,9 +1061,9 @@
Declaration
interval you specify. Other elements received within the throttling interval aren’t emitted.
let stream = AsyncStream < Int > { continuation in
continuation . yield ( 0 )
- try ? await Task . sleep ( nanoseconds : 100_000_000 )
+ try ? await Task . sleep ( nanoseconds : 100_000_000 )
continuation . yield ( 1 )
- try ? await Task . sleep ( nanoseconds : 100_000_000 )
+ try ? await Task . sleep ( nanoseconds : 100_000_000 )
continuation . yield ( 2 )
continuation . yield ( 3 )
continuation . yield ( 4 )
@@ -911,7 +1071,7 @@ Declaration
continuation . finish ()
}
-for element in try await self . stream . throttle ( for : 0.05 , latest : true ) {
+for element in try await self . stream . throttle ( for : 0.05 , latest : true ) {
print ( element )
}
@@ -957,7 +1117,7 @@ Declaration
sequence . finish ( throwing : TestError ())
do {
- for try await value in sequence {
+ for try await value in sequence {
print ( value )
}
} catch {
@@ -1024,7 +1184,7 @@ Declaration
continuation . finish ()
}
-for await value in streamA . zip ( streamB , streamC ) {
+for await value in streamA . zip ( streamB , streamC ) {
print ( value )
}
@@ -1081,7 +1241,7 @@ Declaration
continuation . finish ()
}
-for await value in streamA . zip ( streamB ) {
+for await value in streamA . zip ( streamB ) {
print ( value )
}
@@ -1109,7 +1269,7 @@ Declaration
diff --git a/.documentation/Structs/AnyAsyncSequenceable.html b/.documentation/Structs/AnyAsyncSequenceable.html
index 6f03d6c..d20e75a 100644
--- a/.documentation/Structs/AnyAsyncSequenceable.html
+++ b/.documentation/Structs/AnyAsyncSequenceable.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -347,7 +359,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async -> Element ?
+
public mutating func next () async -> Element ?
@@ -363,7 +375,7 @@ Return Value
diff --git a/.documentation/Structs/AnyThrowingAsyncSequenceable.html b/.documentation/Structs/AnyThrowingAsyncSequenceable.html
index 2ccee6e..c6811f9 100644
--- a/.documentation/Structs/AnyThrowingAsyncSequenceable.html
+++ b/.documentation/Structs/AnyThrowingAsyncSequenceable.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -347,7 +359,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async throws -> Element ?
+
public mutating func next () async throws -> Element ?
@@ -363,7 +375,7 @@ Return Value
diff --git a/.documentation/Structs/ChainAsyncSequence.html b/.documentation/Structs/ChainAsyncSequence.html
new file mode 100644
index 0000000..6a9c1f5
--- /dev/null
+++ b/.documentation/Structs/ChainAsyncSequence.html
@@ -0,0 +1,421 @@
+
+
+
+ ChainAsyncSequence Structure Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Docs (100% documented)
+
+
+
+
+
+ Reference
+
+ ChainAsyncSequence Structure Reference
+
+
+
+
+
+
+
+ ChainAsyncSequence
+
+
+
+
public struct ChainAsyncSequence < P , Q > : AsyncSequence where P : AsyncSequence , Q : AsyncSequence , P . Element == Q . Element
+
extension ChainAsyncSequence : AsyncIteratorProtocol
+
+
+
+ An asynchronous sequence that chains two async sequences.
+
+The combined sequence first emits the all the values from the first sequence
+and then emits all values from the second.
+let sequenceA = AsyncStream < Int > { continuation in
+ continuation . yield ( 1 )
+ continuation . yield ( 2 )
+ continuation . yield ( 3 )
+ continuation . finish ()
+}
+
+let sequenceB = AsyncStream < Int > { continuation in
+ continuation . yield ( 4 )
+ continuation . yield ( 5 )
+ continuation . yield ( 6 )
+ continuation . finish ()
+}
+
+let sequenceC = AsyncStream < Int > { continuation in
+ continuation . yield ( 7 )
+ continuation . yield ( 8 )
+ continuation . yield ( 9 )
+ continuation . finish ()
+}
+
+for await value in sequenceA <> sequenceB <> sequenceC {
+ print ( value )
+}
+
+// Prints:
+// 1
+// 2
+// 3
+// 4
+// 5
+// 6
+// 7
+// 8
+// 9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
The kind of elements streamed.
+
+
+
+
Declaration
+
+
Swift
+
public typealias Element = P . Element
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Creates an async sequence that combines the two async sequence.
+
+
+
+
Declaration
+
+
Swift
+
public init (
+ _ p : P ,
+ _ q : Q
+)
+
+
+
+
+
Parameters
+
+
+
+
+
+ p
+
+
+
+
+
The first async sequence.
+
+
+
+
+
+
+ q
+
+
+
+
+
The second async sequence.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Creates an async iterator that emits elements of this async sequence.
+
+
+
+
Declaration
+
+
Swift
+
public func makeAsyncIterator () -> ChainAsyncSequence < P , Q >
+
+
+
+
+
Return Value
+
An instance that conforms to AsyncIteratorProtocol
.
+
+
+
+
+
+
+
+
+
+
+
+
+
AsyncIteratorProtocol
+
+
+
+
+
+
+
+
+
+ next()
+
+
+ Asynchronous
+
+
+
+
+
+
+
+
Produces the next element in the sequence.
+
+
+
+
Declaration
+
+
Swift
+
public mutating func next () async rethrows -> Element ?
+
+
+
+
+
Return Value
+
The next element or nil
if the end of the sequence is reached.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.documentation/Structs/CombineLatest3AsyncSequence.html b/.documentation/Structs/CombineLatest3AsyncSequence.html
index 82ce6e5..8119f94 100644
--- a/.documentation/Structs/CombineLatest3AsyncSequence.html
+++ b/.documentation/Structs/CombineLatest3AsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -187,7 +199,7 @@ CombineLatest3AsyncSequence
continuation . finish ()
}
-for await value in streamA . combineLatest ( streamB , streamC ) {
+for await value in streamA . combineLatest ( streamB , streamC ) {
print ( value )
}
@@ -404,7 +416,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async rethrows -> Element ?
+
public mutating func next () async rethrows -> Element ?
@@ -420,7 +432,7 @@ Return Value
diff --git a/.documentation/Structs/CombineLatestAsyncSequence.html b/.documentation/Structs/CombineLatestAsyncSequence.html
index 88f974a..66bed72 100644
--- a/.documentation/Structs/CombineLatestAsyncSequence.html
+++ b/.documentation/Structs/CombineLatestAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -181,7 +193,7 @@ CombineLatestAsyncSequence
continuation . finish ()
}
-for await value in streamA . combineLatest ( streamB ) {
+for await value in streamA . combineLatest ( streamB ) {
print ( value )
}
@@ -385,7 +397,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async rethrows -> Element ?
+
public mutating func next () async rethrows -> Element ?
@@ -401,7 +413,7 @@ Return Value
diff --git a/.documentation/Structs/DebounceAsyncSequence.html b/.documentation/Structs/DebounceAsyncSequence.html
index 98ff51e..df54ff7 100644
--- a/.documentation/Structs/DebounceAsyncSequence.html
+++ b/.documentation/Structs/DebounceAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -165,9 +177,9 @@ DebounceAsyncSequence
or high-volume async sequences where you need to reduce the number of elements emitted to a rate you specify.
let stream = AsyncStream < Int > { continuation in
continuation . yield ( 0 )
- try ? await Task . sleep ( nanoseconds : 200_000_000 )
+ try ? await Task . sleep ( nanoseconds : 200_000_000 )
continuation . yield ( 1 )
- try ? await Task . sleep ( nanoseconds : 200_000_000 )
+ try ? await Task . sleep ( nanoseconds : 200_000_000 )
continuation . yield ( 2 )
continuation . yield ( 3 )
continuation . yield ( 4 )
@@ -175,7 +187,7 @@ DebounceAsyncSequence
continuation . finish ()
}
-for element in try await self . stream . debounce ( for : 0.1 ) {
+for element in try await self . stream . debounce ( for : 0.1 ) {
print ( element )
}
@@ -370,7 +382,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async throws -> Element ?
+
public mutating func next () async throws -> Element ?
@@ -386,7 +398,7 @@ Return Value
diff --git a/.documentation/Structs/DelayAsyncSequence.html b/.documentation/Structs/DelayAsyncSequence.html
index 02c7343..efd74dc 100644
--- a/.documentation/Structs/DelayAsyncSequence.html
+++ b/.documentation/Structs/DelayAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -167,7 +179,7 @@ DelayAsyncSequence
}
let start = Date . now
-for element in try await self . stream . delay ( for : 0.5 ) {
+for element in try await self . stream . delay ( for : 0.5 ) {
print ( " \( element ) - \( Date . now . timeIntervalSince ( start ) ) " )
}
@@ -362,7 +374,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async throws -> Element ?
+
public mutating func next () async throws -> Element ?
@@ -378,7 +390,7 @@ Return Value
diff --git a/.documentation/Structs/Empty.html b/.documentation/Structs/Empty.html
index 3f99eb6..d76ec4b 100644
--- a/.documentation/Structs/Empty.html
+++ b/.documentation/Structs/Empty.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -317,7 +329,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async -> Element ?
+
public mutating func next () async -> Element ?
@@ -333,7 +345,7 @@ Return Value
diff --git a/.documentation/Structs/Fail.html b/.documentation/Structs/Fail.html
index 1632ed6..633a05b 100644
--- a/.documentation/Structs/Fail.html
+++ b/.documentation/Structs/Fail.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -164,7 +176,7 @@ Fail
let stream = Fail < Int , TestError > ( error : TestError ())
do {
- for try await value in stream {
+ for try await value in stream {
print ( value )
}
} catch {
@@ -314,7 +326,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async throws -> Element ?
+
public mutating func next () async throws -> Element ?
@@ -330,7 +342,7 @@ Return Value
diff --git a/.documentation/Structs/Just.html b/.documentation/Structs/Just.html
index ed52367..f256d7a 100644
--- a/.documentation/Structs/Just.html
+++ b/.documentation/Structs/Just.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -161,7 +173,7 @@ Just
An asynchronous sequence that only emits the provided value once.
let stream = Just ( 1 )
-for await value in stream {
+for await value in stream {
print ( value )
}
@@ -308,7 +320,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async -> Element ?
+
public mutating func next () async -> Element ?
@@ -324,7 +336,7 @@ Return Value
diff --git a/.documentation/Structs/Merge3AsyncSequence.html b/.documentation/Structs/Merge3AsyncSequence.html
index b7f3c63..0d79699 100644
--- a/.documentation/Structs/Merge3AsyncSequence.html
+++ b/.documentation/Structs/Merge3AsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -177,7 +189,7 @@ Merge3AsyncSequence
continuation . finish ()
}
-for await value in self . streamA . merge ( with : self . streamB , self . streamC ) {
+for await value in self . streamA . merge ( with : self . streamB , self . streamC ) {
print ( value )
}
@@ -380,7 +392,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async rethrows -> Element ?
+
public mutating func next () async rethrows -> Element ?
@@ -396,7 +408,7 @@ Return Value
diff --git a/.documentation/Structs/MergeAsyncSequence.html b/.documentation/Structs/MergeAsyncSequence.html
index 9b93e24..19d83b4 100644
--- a/.documentation/Structs/MergeAsyncSequence.html
+++ b/.documentation/Structs/MergeAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -178,7 +190,7 @@ MergeAsyncSequence
continuation . finish ()
}
-for await value in streamA . merge ( with : streamB ) {
+for await value in streamA . merge ( with : streamB ) {
print ( value )
}
@@ -385,7 +397,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async rethrows -> Element ?
+
public mutating func next () async rethrows -> Element ?
@@ -401,7 +413,7 @@ Return Value
diff --git a/.documentation/Structs/PassthroughAsyncSequence.html b/.documentation/Structs/PassthroughAsyncSequence.html
index cc1792b..6aad9c7 100644
--- a/.documentation/Structs/PassthroughAsyncSequence.html
+++ b/.documentation/Structs/PassthroughAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -164,7 +176,7 @@ PassthroughAsyncSequence
sequence . yield ( 2 )
sequence . finish ()
-for await value in sequence {
+for await value in sequence {
print ( value )
}
@@ -401,7 +413,7 @@ Parameters
diff --git a/.documentation/Structs/RemoveDuplicatesAsyncSequence.html b/.documentation/Structs/RemoveDuplicatesAsyncSequence.html
index 5a3ae22..8ed4c06 100644
--- a/.documentation/Structs/RemoveDuplicatesAsyncSequence.html
+++ b/.documentation/Structs/RemoveDuplicatesAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -168,7 +180,7 @@ RemoveDuplicatesAsyncSequence
continuation . finish ()
}
-for await value in stream . removeDuplicates () {
+for await value in stream . removeDuplicates () {
print ( value )
}
@@ -398,7 +410,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async rethrows -> Element ?
+
public mutating func next () async rethrows -> Element ?
@@ -414,7 +426,7 @@ Return Value
diff --git a/.documentation/Structs/ReplaceErrorAsyncSequence.html b/.documentation/Structs/ReplaceErrorAsyncSequence.html
index d29cd08..fbcf21a 100644
--- a/.documentation/Structs/ReplaceErrorAsyncSequence.html
+++ b/.documentation/Structs/ReplaceErrorAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -164,7 +176,7 @@ ReplaceErrorAsyncSequence
)
. replaceError ( with : 0 )
-for await value in stream {
+for await value in stream {
print ( value )
}
@@ -354,7 +366,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async -> Element ?
+
public mutating func next () async -> Element ?
@@ -370,7 +382,7 @@ Return Value
diff --git a/.documentation/Structs/SequenceAsyncSequence.html b/.documentation/Structs/SequenceAsyncSequence.html
new file mode 100644
index 0000000..555ea9f
--- /dev/null
+++ b/.documentation/Structs/SequenceAsyncSequence.html
@@ -0,0 +1,331 @@
+
+
+
+ SequenceAsyncSequence Structure Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Docs (100% documented)
+
+
+
+
+
+ Reference
+
+ SequenceAsyncSequence Structure Reference
+
+
+
+
+
+
+
+ SequenceAsyncSequence
+
+
+
+
public struct SequenceAsyncSequence < P > : AsyncSequence where P : Sequence
+
+
+
+ An async version of Sequence
. Generally used to turn any Sequence
into
+it’s async counterpart.
+let sequence = [ 0 , 1 , 2 , 3 ] . async
+
+for await value in sequence {
+ print ( value )
+}
+
+// Prints:
+// 1
+// 2
+// 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
The kind of elements streamed.
+
+
+
+
Declaration
+
+
Swift
+
public typealias Element = P . Element
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Creates an async sequence that combines the two async sequence.
+
+
+
+
Declaration
+
+
Swift
+
public init ( _ sequence : P )
+
+
+
+
+
Parameters
+
+
+
+
+
+ p
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Creates an async iterator that emits elements of this async sequence.
+
+
+
+
+
Return Value
+
An instance that conforms to AsyncIteratorProtocol
.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.documentation/Structs/SequenceAsyncSequenceIterator.html b/.documentation/Structs/SequenceAsyncSequenceIterator.html
new file mode 100644
index 0000000..76b88fa
--- /dev/null
+++ b/.documentation/Structs/SequenceAsyncSequenceIterator.html
@@ -0,0 +1,270 @@
+
+
+
+ SequenceAsyncSequenceIterator Structure Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Docs (100% documented)
+
+
+
+
+
+ Reference
+
+ SequenceAsyncSequenceIterator Structure Reference
+
+
+
+
+
+
+
+ SequenceAsyncSequenceIterator
+
+
+
+
public struct SequenceAsyncSequenceIterator < P > : AsyncIteratorProtocol where P : Sequence
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Declaration
+
+
Swift
+
public init ( _ iterator : P . Iterator )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
AsyncIteratorProtocol
+
+
+
+
+
+
+
+
+
+ next()
+
+
+ Asynchronous
+
+
+
+
+
+
+
+
Produces the next element in the sequence.
+
+
+
+
Declaration
+
+
Swift
+
public mutating func next () async -> P . Element ?
+
+
+
+
+
Return Value
+
The next element or nil
if the end of the sequence is reached.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.documentation/Structs/SharedAsyncSequence.html b/.documentation/Structs/SharedAsyncSequence.html
index f94aa07..2c7d58e 100644
--- a/.documentation/Structs/SharedAsyncSequence.html
+++ b/.documentation/Structs/SharedAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -174,16 +186,16 @@ SharedAsyncSequence
. shared ()
Task {
- let values = try await self . stream . collect ()
+ let values = try await self . stream . collect ()
// ...
}
Task . detached {
- let values = try await self . stream . collect ()
+ let values = try await self . stream . collect ()
// ...
}
-let values = try await self . stream . collect ()
+let values = try await self . stream . collect ()
// ...
@@ -387,7 +399,7 @@ CurrentElementAsyncSequence extension
Declaration
@@ -438,7 +450,7 @@ Parameters
Declaration
@@ -470,7 +482,7 @@ Declaration
Declaration
@@ -519,7 +531,7 @@ Parameters
Declaration
@@ -669,7 +681,7 @@ Parameters
diff --git a/.documentation/Structs/ThrottleAsyncSequence.html b/.documentation/Structs/ThrottleAsyncSequence.html
index ad7b70f..428b4de 100644
--- a/.documentation/Structs/ThrottleAsyncSequence.html
+++ b/.documentation/Structs/ThrottleAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -165,9 +177,9 @@ ThrottleAsyncSequence
interval you specify. Other elements received within the throttling interval aren’t emitted.
let stream = AsyncStream < Int > { continuation in
continuation . yield ( 0 )
- try ? await Task . sleep ( nanoseconds : 100_000_000 )
+ try ? await Task . sleep ( nanoseconds : 100_000_000 )
continuation . yield ( 1 )
- try ? await Task . sleep ( nanoseconds : 100_000_000 )
+ try ? await Task . sleep ( nanoseconds : 100_000_000 )
continuation . yield ( 2 )
continuation . yield ( 3 )
continuation . yield ( 4 )
@@ -175,7 +187,7 @@ ThrottleAsyncSequence
continuation . finish ()
}
-for element in try await self . stream . throttle ( for : 0.05 , latest : true ) {
+for element in try await self . stream . throttle ( for : 0.05 , latest : true ) {
print ( element )
}
@@ -386,7 +398,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async throws -> Element ?
+
public mutating func next () async throws -> Element ?
@@ -402,7 +414,7 @@ Return Value
diff --git a/.documentation/Structs/ThrowingPassthroughAsyncSequence.html b/.documentation/Structs/ThrowingPassthroughAsyncSequence.html
index 4ed7e8f..bcf2f02 100644
--- a/.documentation/Structs/ThrowingPassthroughAsyncSequence.html
+++ b/.documentation/Structs/ThrowingPassthroughAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -165,7 +177,7 @@ ThrowingPassthroughAsyncSequence
sequence . finish ( throwing : TestError ())
do {
- for try await value in sequence {
+ for try await value in sequence {
print ( value )
}
} catch {
@@ -455,7 +467,7 @@ Parameters
diff --git a/.documentation/Structs/Zip3AsyncSequence.html b/.documentation/Structs/Zip3AsyncSequence.html
index 1c57834..7c85f17 100644
--- a/.documentation/Structs/Zip3AsyncSequence.html
+++ b/.documentation/Structs/Zip3AsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -185,7 +197,7 @@ Zip3AsyncSequence
continuation . finish ()
}
-for await value in streamA . zip ( streamB , streamC ) {
+for await value in streamA . zip ( streamB , streamC ) {
print ( value )
}
@@ -311,7 +323,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async rethrows -> Element ?
+
public mutating func next () async rethrows -> Element ?
@@ -327,7 +339,7 @@ Return Value
diff --git a/.documentation/Structs/ZipAsyncSequence.html b/.documentation/Structs/ZipAsyncSequence.html
index a7c2faf..e420588 100644
--- a/.documentation/Structs/ZipAsyncSequence.html
+++ b/.documentation/Structs/ZipAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -179,7 +191,7 @@ ZipAsyncSequence
continuation . finish ()
}
-for await value in streamA . zip ( streamB ) {
+for await value in streamA . zip ( streamB ) {
print ( value )
}
@@ -305,7 +317,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async rethrows -> Element ?
+
public mutating func next () async rethrows -> Element ?
@@ -321,7 +333,7 @@ Return Value
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Actors.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Actors.html
index e5f17ff..692e01a 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Actors.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Actors.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -171,15 +183,15 @@ Actors
A async sequence that wraps a single value and emits a new element whenever the element changes.
let sequence = CurrentElementAsyncSequence ( 0 )
-print ( await sequence . element )
+print ( await sequence . element )
-await stream . yield ( 1 )
-print ( await sequence . element )
+await stream . yield ( 1 )
+print ( await sequence . element )
-await stream . yield ( 2 )
-await stream . yield ( 3 )
-await stream . yield ( 4 )
-print ( await sequence . element )
+await stream . yield ( 2 )
+await stream . yield ( 3 )
+await stream . yield ( 4 )
+print ( await sequence . element )
// Prints:
// 0
@@ -193,7 +205,7 @@ Actors
Declaration
Swift
-
public actor CurrentElementAsyncSequence < Element > : AsyncSequence
+
public actor CurrentElementAsyncSequence < Element > : AsyncSequence
@@ -205,7 +217,7 @@ Declaration
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Actors/CurrentElementAsyncSequence.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Actors/CurrentElementAsyncSequence.html
index 90cccb5..ffc1d4f 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Actors/CurrentElementAsyncSequence.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Actors/CurrentElementAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -153,21 +165,21 @@ CurrentElementAsyncSequence
-
public actor CurrentElementAsyncSequence < Element > : AsyncSequence
+
public actor CurrentElementAsyncSequence < Element > : AsyncSequence
A async sequence that wraps a single value and emits a new element whenever the element changes.
let sequence = CurrentElementAsyncSequence ( 0 )
-print ( await sequence . element )
+print ( await sequence . element )
-await stream . yield ( 1 )
-print ( await sequence . element )
+await stream . yield ( 1 )
+print ( await sequence . element )
-await stream . yield ( 2 )
-await stream . yield ( 3 )
-await stream . yield ( 4 )
-print ( await sequence . element )
+await stream . yield ( 2 )
+await stream . yield ( 3 )
+await stream . yield ( 4 )
+print ( await sequence . element )
// Prints:
// 0
@@ -298,7 +310,7 @@ AsyncSequence
Declaration
Swift
-
nonisolated public func makeAsyncIterator () -> AsyncStream < Element >. Iterator
+
nonisolated public func makeAsyncIterator () -> AsyncStream < Element >. Iterator
@@ -453,7 +465,7 @@ Parameters
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Classes.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Classes.html
index 2da3109..4a4c69f 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Classes.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Classes.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -173,7 +185,7 @@ Classes
let sequence = TimerAsyncSequence ( interval : 1 )
let start = Date . now
-for element in await sequence {
+for element in await sequence {
print ( element )
}
@@ -201,7 +213,7 @@ Declaration
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Classes/TimerAsyncSequence.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Classes/TimerAsyncSequence.html
index 534ae30..f2e6f7c 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Classes/TimerAsyncSequence.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Classes/TimerAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -161,7 +173,7 @@ TimerAsyncSequence
let sequence = TimerAsyncSequence ( interval : 1 )
let start = Date . now
-for element in await sequence {
+for element in await sequence {
print ( element )
}
@@ -350,7 +362,7 @@ Return Value
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Enums.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Enums.html
index 20624de..bfcf14f 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Enums.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Enums.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -189,7 +201,7 @@ Declaration
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Enums/AsyncSequenceCompletion.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Enums/AsyncSequenceCompletion.html
index eed8ab4..1eb3ea2 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Enums/AsyncSequenceCompletion.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Enums/AsyncSequenceCompletion.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -223,7 +235,7 @@ Declaration
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions.html
index ff32b5c..4321d63 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -267,10 +279,50 @@ Declaration
+
+
+
+
+
+
+
+
+
+
+
+
Declaration
+
+
Swift
+
public extension Sequence
+
+
+
+
+
+
+
+
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/AsyncSequence.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/AsyncSequence.html
index 611ebb3..e585d7f 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/AsyncSequence.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/AsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -275,7 +287,7 @@ Return Value
Declaration
Swift
-
public func first () async rethrows -> Element ?
+
public func first () async rethrows -> Element ?
@@ -300,14 +312,14 @@ Declaration
Collect elements from a sequence.
// Collect all elements.
-var values = await self . sequence . collect ()
+var values = await self . sequence . collect ()
print ( values )
// Prints:
// [1, 2, 3]
// Collect only 2 elements.
-values = await self . sequence . collect ( 2 )
+values = await self . sequence . collect ( 2 )
print ( values )
// Prints:
@@ -319,7 +331,7 @@ Declaration
Declaration
Swift
-
public func collect ( _ numberOfElements : Int ? = . none ) async rethrows -> [ Element ]
+
public func collect ( _ numberOfElements : Int ? = . none ) async rethrows -> [ Element ]
@@ -387,7 +399,7 @@ Declaration
Swift
@discardableResult
-public func sink ( _ receiveValue : @escaping ( Element ) async -> Void ) -> Task < Void , Error >
+
public func sink ( _ receiveValue : @escaping ( Element ) async -> Void ) -> Task < Void , Error >
@@ -458,8 +470,8 @@ Declaration
Swift
@discardableResult
public func sink (
- receiveValue : @escaping ( Element ) async -> Void ,
- receiveCompletion : @escaping ( AsyncSequenceCompletion < Error > ) async -> Void
+ receiveValue : @escaping ( Element ) async -> Void ,
+ receiveCompletion : @escaping ( AsyncSequenceCompletion < Error > ) async -> Void
) -> Task < Void , Never >
@@ -585,6 +597,120 @@ Return Value
+
+
+
+
+
+
+
+
+
+
+
An asynchronous sequence that chains two async sequences.
+
+
The combined sequence first emits the all the values from the first sequence
+and then emits all values from the second.
+
let sequenceA = AsyncStream < Int > { continuation in
+ continuation . yield ( 1 )
+ continuation . yield ( 2 )
+ continuation . yield ( 3 )
+ continuation . finish ()
+}
+
+let sequenceB = AsyncStream < Int > { continuation in
+ continuation . yield ( 4 )
+ continuation . yield ( 5 )
+ continuation . yield ( 6 )
+ continuation . finish ()
+}
+
+let sequenceC = AsyncStream < Int > { continuation in
+ continuation . yield ( 7 )
+ continuation . yield ( 8 )
+ continuation . yield ( 9 )
+ continuation . finish ()
+}
+
+for await value in sequenceA . chain ( with : sequenceB ) . chain ( with : sequenceC ) {
+ print ( value )
+}
+
+// Prints:
+// 1
+// 2
+// 3
+// 4
+// 5
+// 6
+// 7
+// 8
+// 9
+
+
+
+
+
Declaration
+
+
Swift
+
public func chain < P > ( with sequence : P ) -> ChainAsyncSequence < Self , P > where P : AsyncSequence , Self . Element == P . Element
+
+
+
+
+
Parameters
+
+
+
+
+
+ lhs
+
+
+
+
+
The first async sequence to iterate through.
+
+
+
+
+
+
+ rhs
+
+
+
+
+
The second async sequence to iterate through.
+
+
+
+
+
+
+
+
Return Value
+
A async sequence chains the two sequences.
+
+
+
+
+
+
@@ -638,7 +764,7 @@
Combine latest
continuation . finish ()
}
-for await value in streamA . combineLatest ( streamB , streamC ) {
+for await value in streamA . combineLatest ( streamB , streamC ) {
print ( value )
}
@@ -734,7 +860,7 @@ Return Value
continuation . finish ()
}
-for await value in self . streamA . combineLatest ( self . streamB ) {
+for await value in self . streamA . combineLatest ( self . streamB ) {
print ( value )
}
@@ -816,9 +942,9 @@ Debounce
or high-volume async sequences where you need to reduce the number of elements emitted to a rate you specify.
let stream = AsyncStream < Int > { continuation in
continuation . yield ( 0 )
- try ? await Task . sleep ( nanoseconds : 200_000_000 )
+ try ? await Task . sleep ( nanoseconds : 200_000_000 )
continuation . yield ( 1 )
- try ? await Task . sleep ( nanoseconds : 200_000_000 )
+ try ? await Task . sleep ( nanoseconds : 200_000_000 )
continuation . yield ( 2 )
continuation . yield ( 3 )
continuation . yield ( 4 )
@@ -826,7 +952,7 @@ Debounce
continuation . finish ()
}
-for element in try await self . stream . debounce ( for : 0.1 ) {
+for element in try await self . stream . debounce ( for : 0.1 ) {
print ( element )
}
@@ -918,7 +1044,7 @@ Delay
}
let start = Date . now
-for element in try await self . stream . delay ( for : 0.5 ) {
+for element in try await self . stream . delay ( for : 0.5 ) {
print ( " \( element ) - \( Date . now . timeIntervalSince ( start ) ) " )
}
@@ -1020,7 +1146,7 @@ Merge
continuation . finish ()
}
-for await value in streamA . merge ( with : streamB , streamC ) {
+for await value in streamA . merge ( with : streamB , streamC ) {
print ( value )
}
@@ -1114,7 +1240,7 @@ Return Value
continuation . finish ()
}
-for await value in streamA . merge ( with : streamB ) {
+for await value in streamA . merge ( with : streamB ) {
print ( value )
}
@@ -1199,7 +1325,7 @@ Replace error
)
. replaceError ( with : 0 )
-for await value in stream {
+for await value in stream {
print ( value )
}
@@ -1315,9 +1441,9 @@ Throttle
interval you specify. Other elements received within the throttling interval aren’t emitted.
let stream = AsyncStream < Int > { continuation in
continuation . yield ( 0 )
- try ? await Task . sleep ( nanoseconds : 100_000_000 )
+ try ? await Task . sleep ( nanoseconds : 100_000_000 )
continuation . yield ( 1 )
- try ? await Task . sleep ( nanoseconds : 100_000_000 )
+ try ? await Task . sleep ( nanoseconds : 100_000_000 )
continuation . yield ( 2 )
continuation . yield ( 3 )
continuation . yield ( 4 )
@@ -1325,7 +1451,7 @@ Throttle
continuation . finish ()
}
-for element in try await self . stream . throttle ( for : 0.05 , latest : true ) {
+for element in try await self . stream . throttle ( for : 0.05 , latest : true ) {
print ( element )
}
@@ -1436,7 +1562,7 @@ Zip
continuation . finish ()
}
-for await value in streamA . zip ( streamB , streamC ) {
+for await value in streamA . zip ( streamB , streamC ) {
print ( value )
}
@@ -1529,7 +1655,7 @@ Return Value
continuation . finish ()
}
-for await value in streamA . zip ( streamB ) {
+for await value in streamA . zip ( streamB ) {
print ( value )
}
@@ -1677,7 +1803,7 @@ Return Value
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/AsyncStream.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/AsyncStream.html
index d19d271..4cdcb5d 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/AsyncStream.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/AsyncStream.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -203,7 +215,7 @@ Declaration
public init (
_ elementType : Element . Type = Element . self ,
bufferingPolicy limit : AsyncStream < Element >. Continuation . BufferingPolicy = . unbounded ,
- _ build : @escaping ( AsyncStream < Element >. Continuation ) async -> Void
+ _ build : @escaping ( AsyncStream < Element >. Continuation ) async -> Void
)
@@ -301,7 +313,7 @@
Declaration
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/AsyncStream/Continuation.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/AsyncStream/Continuation.html
index 7bf0c52..5fa591b 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/AsyncStream/Continuation.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/AsyncStream/Continuation.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -213,7 +225,7 @@
Parameters
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/AsyncThrowingStream.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/AsyncThrowingStream.html
index a08bb66..bcedac5 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/AsyncThrowingStream.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/AsyncThrowingStream.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -203,7 +215,7 @@
Declaration
public init (
_ elementType : Element . Type = Element . self ,
bufferingPolicy limit : AsyncThrowingStream < Element , Failure >. Continuation . BufferingPolicy = . unbounded ,
- _ build : @escaping ( AsyncThrowingStream < Element , Failure >. Continuation ) async -> Void
+ _ build : @escaping ( AsyncThrowingStream < Element , Failure >. Continuation ) async -> Void
) where Failure == Error
@@ -301,7 +313,7 @@ Declaration
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/AsyncThrowingStream/Continuation.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/AsyncThrowingStream/Continuation.html
index ccb8be7..cd4e86e 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/AsyncThrowingStream/Continuation.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/AsyncThrowingStream/Continuation.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -213,7 +225,7 @@ Parameters
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/Sequence.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/Sequence.html
new file mode 100644
index 0000000..4176a17
--- /dev/null
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/Sequence.html
@@ -0,0 +1,227 @@
+
+
+
+ Sequence Extension Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Docs (100% documented)
+
+
+
+
+
+ Reference
+
+ Sequence Extension Reference
+
+
+
+
+
+
+
+ Sequence
+
+
+
+
public extension Sequence
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
An async sequence that contains all the elements of
+the current sequence.
+
let sequence = [ 0 , 1 , 2 , 3 ] . async
+
+for await value in sequence {
+ print ( value )
+}
+
+// Prints:
+// 1
+// 2
+// 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/Task.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/Task.html
index 1f0a041..2b3537a 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/Task.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Extensions/Task.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -197,7 +209,7 @@ Available where Success
== Nev
Declaration
Swift
-
public static func sleep ( seconds duration : TimeInterval ) async throws
+
public static func sleep ( seconds duration : TimeInterval ) async throws
@@ -228,7 +240,7 @@ Parameters
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs.html
index b4d91fe..049f8f2 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -218,6 +230,74 @@ Declaration
+
+
+
+
+
+
+
+
An asynchronous sequence that chains two async sequences.
+
+
The combined sequence first emits the all the values from the first sequence
+and then emits all values from the second.
+
let sequenceA = AsyncStream < Int > { continuation in
+ continuation . yield ( 1 )
+ continuation . yield ( 2 )
+ continuation . yield ( 3 )
+ continuation . finish ()
+}
+
+let sequenceB = AsyncStream < Int > { continuation in
+ continuation . yield ( 4 )
+ continuation . yield ( 5 )
+ continuation . yield ( 6 )
+ continuation . finish ()
+}
+
+let sequenceC = AsyncStream < Int > { continuation in
+ continuation . yield ( 7 )
+ continuation . yield ( 8 )
+ continuation . yield ( 9 )
+ continuation . finish ()
+}
+
+for await value in sequenceA <> sequenceB <> sequenceC {
+ print ( value )
+}
+
+// Prints:
+// 1
+// 2
+// 3
+// 4
+// 5
+// 6
+// 7
+// 8
+// 9
+
+
+
See more
+
+
+
Declaration
+
+
Swift
+
public struct ChainAsyncSequence < P , Q > : AsyncSequence where P : AsyncSequence , Q : AsyncSequence , P . Element == Q . Element
+
extension ChainAsyncSequence : AsyncIteratorProtocol
+
+
+
+
+
+
@@ -260,7 +340,7 @@ Declaration
continuation . finish ()
}
-for await value in streamA . combineLatest ( streamB , streamC ) {
+for await value in streamA . combineLatest ( streamB , streamC ) {
print ( value )
}
@@ -322,7 +402,7 @@ Declaration
continuation . finish ()
}
-for await value in streamA . combineLatest ( streamB ) {
+for await value in streamA . combineLatest ( streamB ) {
print ( value )
}
@@ -368,9 +448,9 @@ Declaration
or high-volume async sequences where you need to reduce the number of elements emitted to a rate you specify.
let stream = AsyncStream < Int > { continuation in
continuation . yield ( 0 )
- try ? await Task . sleep ( nanoseconds : 200_000_000 )
+ try ? await Task . sleep ( nanoseconds : 200_000_000 )
continuation . yield ( 1 )
- try ? await Task . sleep ( nanoseconds : 200_000_000 )
+ try ? await Task . sleep ( nanoseconds : 200_000_000 )
continuation . yield ( 2 )
continuation . yield ( 3 )
continuation . yield ( 4 )
@@ -378,7 +458,7 @@ Declaration
continuation . finish ()
}
-for element in try await self . stream . debounce ( for : 0.1 ) {
+for element in try await self . stream . debounce ( for : 0.1 ) {
print ( element )
}
@@ -424,7 +504,7 @@ Declaration
}
let start = Date . now
-for element in try await self . stream . delay ( for : 0.5 ) {
+for element in try await self . stream . delay ( for : 0.5 ) {
print ( " \( element ) - \( Date . now . timeIntervalSince ( start ) ) " )
}
@@ -511,7 +591,7 @@ Declaration
let stream = Fail < Int , TestError > ( error : TestError ())
do {
- for try await value in stream {
+ for try await value in stream {
print ( value )
}
} catch {
@@ -552,7 +632,7 @@ Declaration
An asynchronous sequence that only emits the provided value once.
let stream = Just ( 1 )
-for await value in stream {
+for await value in stream {
print ( value )
}
@@ -606,7 +686,7 @@ Declaration
continuation . finish ()
}
-for await value in self . streamA . merge ( with : self . streamB , self . streamC ) {
+for await value in self . streamA . merge ( with : self . streamB , self . streamC ) {
print ( value )
}
@@ -664,7 +744,7 @@ Declaration
continuation . finish ()
}
-for await value in streamA . merge ( with : streamB ) {
+for await value in streamA . merge ( with : streamB ) {
print ( value )
}
@@ -714,7 +794,7 @@ Declaration
sequence . yield ( 2 )
sequence . finish ()
-for await value in sequence {
+for await value in sequence {
print ( value )
}
@@ -760,7 +840,7 @@ Declaration
continuation . finish ()
}
-for await value in stream . removeDuplicates () {
+for await value in stream . removeDuplicates () {
print ( value )
}
@@ -803,7 +883,7 @@ Declaration
)
. replaceError ( with : 0 )
-for await value in stream {
+for await value in stream {
print ( value )
}
@@ -825,6 +905,86 @@ Declaration
+
+
+
+
+
+
+
+
An async version of Sequence
. Generally used to turn any Sequence
into
+it’s async counterpart.
+
let sequence = [ 0 , 1 , 2 , 3 ] . async
+
+for await value in sequence {
+ print ( value )
+}
+
+// Prints:
+// 1
+// 2
+// 3
+
+
+
See more
+
+
+
Declaration
+
+
Swift
+
public struct SequenceAsyncSequence < P > : AsyncSequence where P : Sequence
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
SequenceAsyncSequenceIterator
+
+
+
+
+
+
+
+
+
+
+
+
+
Declaration
+
+
Swift
+
public struct SequenceAsyncSequenceIterator < P > : AsyncIteratorProtocol where P : Sequence
+
+
+
+
+
+
@@ -855,16 +1015,16 @@ Declaration
. shared ()
Task {
- let values = try await self . stream . collect ()
+ let values = try await self . stream . collect ()
// ...
}
Task . detached {
- let values = try await self . stream . collect ()
+ let values = try await self . stream . collect ()
// ...
}
-let values = try await self . stream . collect ()
+let values = try await self . stream . collect ()
// ...
@@ -901,9 +1061,9 @@
Declaration
interval you specify. Other elements received within the throttling interval aren’t emitted.
let stream = AsyncStream < Int > { continuation in
continuation . yield ( 0 )
- try ? await Task . sleep ( nanoseconds : 100_000_000 )
+ try ? await Task . sleep ( nanoseconds : 100_000_000 )
continuation . yield ( 1 )
- try ? await Task . sleep ( nanoseconds : 100_000_000 )
+ try ? await Task . sleep ( nanoseconds : 100_000_000 )
continuation . yield ( 2 )
continuation . yield ( 3 )
continuation . yield ( 4 )
@@ -911,7 +1071,7 @@ Declaration
continuation . finish ()
}
-for element in try await self . stream . throttle ( for : 0.05 , latest : true ) {
+for element in try await self . stream . throttle ( for : 0.05 , latest : true ) {
print ( element )
}
@@ -957,7 +1117,7 @@ Declaration
sequence . finish ( throwing : TestError ())
do {
- for try await value in sequence {
+ for try await value in sequence {
print ( value )
}
} catch {
@@ -1024,7 +1184,7 @@ Declaration
continuation . finish ()
}
-for await value in streamA . zip ( streamB , streamC ) {
+for await value in streamA . zip ( streamB , streamC ) {
print ( value )
}
@@ -1081,7 +1241,7 @@ Declaration
continuation . finish ()
}
-for await value in streamA . zip ( streamB ) {
+for await value in streamA . zip ( streamB ) {
print ( value )
}
@@ -1109,7 +1269,7 @@ Declaration
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/AnyAsyncSequenceable.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/AnyAsyncSequenceable.html
index 6f03d6c..d20e75a 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/AnyAsyncSequenceable.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/AnyAsyncSequenceable.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -347,7 +359,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async -> Element ?
+
public mutating func next () async -> Element ?
@@ -363,7 +375,7 @@ Return Value
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/AnyThrowingAsyncSequenceable.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/AnyThrowingAsyncSequenceable.html
index 2ccee6e..c6811f9 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/AnyThrowingAsyncSequenceable.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/AnyThrowingAsyncSequenceable.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -347,7 +359,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async throws -> Element ?
+
public mutating func next () async throws -> Element ?
@@ -363,7 +375,7 @@ Return Value
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/ChainAsyncSequence.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/ChainAsyncSequence.html
new file mode 100644
index 0000000..6a9c1f5
--- /dev/null
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/ChainAsyncSequence.html
@@ -0,0 +1,421 @@
+
+
+
+ ChainAsyncSequence Structure Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Docs (100% documented)
+
+
+
+
+
+ Reference
+
+ ChainAsyncSequence Structure Reference
+
+
+
+
+
+
+
+ ChainAsyncSequence
+
+
+
+
public struct ChainAsyncSequence < P , Q > : AsyncSequence where P : AsyncSequence , Q : AsyncSequence , P . Element == Q . Element
+
extension ChainAsyncSequence : AsyncIteratorProtocol
+
+
+
+ An asynchronous sequence that chains two async sequences.
+
+The combined sequence first emits the all the values from the first sequence
+and then emits all values from the second.
+let sequenceA = AsyncStream < Int > { continuation in
+ continuation . yield ( 1 )
+ continuation . yield ( 2 )
+ continuation . yield ( 3 )
+ continuation . finish ()
+}
+
+let sequenceB = AsyncStream < Int > { continuation in
+ continuation . yield ( 4 )
+ continuation . yield ( 5 )
+ continuation . yield ( 6 )
+ continuation . finish ()
+}
+
+let sequenceC = AsyncStream < Int > { continuation in
+ continuation . yield ( 7 )
+ continuation . yield ( 8 )
+ continuation . yield ( 9 )
+ continuation . finish ()
+}
+
+for await value in sequenceA <> sequenceB <> sequenceC {
+ print ( value )
+}
+
+// Prints:
+// 1
+// 2
+// 3
+// 4
+// 5
+// 6
+// 7
+// 8
+// 9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
The kind of elements streamed.
+
+
+
+
Declaration
+
+
Swift
+
public typealias Element = P . Element
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Creates an async sequence that combines the two async sequence.
+
+
+
+
Declaration
+
+
Swift
+
public init (
+ _ p : P ,
+ _ q : Q
+)
+
+
+
+
+
Parameters
+
+
+
+
+
+ p
+
+
+
+
+
The first async sequence.
+
+
+
+
+
+
+ q
+
+
+
+
+
The second async sequence.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Creates an async iterator that emits elements of this async sequence.
+
+
+
+
Declaration
+
+
Swift
+
public func makeAsyncIterator () -> ChainAsyncSequence < P , Q >
+
+
+
+
+
Return Value
+
An instance that conforms to AsyncIteratorProtocol
.
+
+
+
+
+
+
+
+
+
+
+
+
+
AsyncIteratorProtocol
+
+
+
+
+
+
+
+
+
+ next()
+
+
+ Asynchronous
+
+
+
+
+
+
+
+
Produces the next element in the sequence.
+
+
+
+
Declaration
+
+
Swift
+
public mutating func next () async rethrows -> Element ?
+
+
+
+
+
Return Value
+
The next element or nil
if the end of the sequence is reached.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/CombineLatest3AsyncSequence.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/CombineLatest3AsyncSequence.html
index 82ce6e5..8119f94 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/CombineLatest3AsyncSequence.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/CombineLatest3AsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -187,7 +199,7 @@ CombineLatest3AsyncSequence
continuation . finish ()
}
-for await value in streamA . combineLatest ( streamB , streamC ) {
+for await value in streamA . combineLatest ( streamB , streamC ) {
print ( value )
}
@@ -404,7 +416,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async rethrows -> Element ?
+
public mutating func next () async rethrows -> Element ?
@@ -420,7 +432,7 @@ Return Value
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/CombineLatestAsyncSequence.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/CombineLatestAsyncSequence.html
index 88f974a..66bed72 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/CombineLatestAsyncSequence.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/CombineLatestAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -181,7 +193,7 @@ CombineLatestAsyncSequence
continuation . finish ()
}
-for await value in streamA . combineLatest ( streamB ) {
+for await value in streamA . combineLatest ( streamB ) {
print ( value )
}
@@ -385,7 +397,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async rethrows -> Element ?
+
public mutating func next () async rethrows -> Element ?
@@ -401,7 +413,7 @@ Return Value
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/DebounceAsyncSequence.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/DebounceAsyncSequence.html
index 98ff51e..df54ff7 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/DebounceAsyncSequence.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/DebounceAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -165,9 +177,9 @@ DebounceAsyncSequence
or high-volume async sequences where you need to reduce the number of elements emitted to a rate you specify.
let stream = AsyncStream < Int > { continuation in
continuation . yield ( 0 )
- try ? await Task . sleep ( nanoseconds : 200_000_000 )
+ try ? await Task . sleep ( nanoseconds : 200_000_000 )
continuation . yield ( 1 )
- try ? await Task . sleep ( nanoseconds : 200_000_000 )
+ try ? await Task . sleep ( nanoseconds : 200_000_000 )
continuation . yield ( 2 )
continuation . yield ( 3 )
continuation . yield ( 4 )
@@ -175,7 +187,7 @@ DebounceAsyncSequence
continuation . finish ()
}
-for element in try await self . stream . debounce ( for : 0.1 ) {
+for element in try await self . stream . debounce ( for : 0.1 ) {
print ( element )
}
@@ -370,7 +382,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async throws -> Element ?
+
public mutating func next () async throws -> Element ?
@@ -386,7 +398,7 @@ Return Value
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/DelayAsyncSequence.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/DelayAsyncSequence.html
index 02c7343..efd74dc 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/DelayAsyncSequence.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/DelayAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -167,7 +179,7 @@ DelayAsyncSequence
}
let start = Date . now
-for element in try await self . stream . delay ( for : 0.5 ) {
+for element in try await self . stream . delay ( for : 0.5 ) {
print ( " \( element ) - \( Date . now . timeIntervalSince ( start ) ) " )
}
@@ -362,7 +374,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async throws -> Element ?
+
public mutating func next () async throws -> Element ?
@@ -378,7 +390,7 @@ Return Value
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/Empty.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/Empty.html
index 3f99eb6..d76ec4b 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/Empty.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/Empty.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -317,7 +329,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async -> Element ?
+
public mutating func next () async -> Element ?
@@ -333,7 +345,7 @@ Return Value
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/Fail.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/Fail.html
index 1632ed6..633a05b 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/Fail.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/Fail.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -164,7 +176,7 @@ Fail
let stream = Fail < Int , TestError > ( error : TestError ())
do {
- for try await value in stream {
+ for try await value in stream {
print ( value )
}
} catch {
@@ -314,7 +326,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async throws -> Element ?
+
public mutating func next () async throws -> Element ?
@@ -330,7 +342,7 @@ Return Value
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/Just.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/Just.html
index ed52367..f256d7a 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/Just.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/Just.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -161,7 +173,7 @@ Just
An asynchronous sequence that only emits the provided value once.
let stream = Just ( 1 )
-for await value in stream {
+for await value in stream {
print ( value )
}
@@ -308,7 +320,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async -> Element ?
+
public mutating func next () async -> Element ?
@@ -324,7 +336,7 @@ Return Value
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/Merge3AsyncSequence.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/Merge3AsyncSequence.html
index b7f3c63..0d79699 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/Merge3AsyncSequence.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/Merge3AsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -177,7 +189,7 @@ Merge3AsyncSequence
continuation . finish ()
}
-for await value in self . streamA . merge ( with : self . streamB , self . streamC ) {
+for await value in self . streamA . merge ( with : self . streamB , self . streamC ) {
print ( value )
}
@@ -380,7 +392,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async rethrows -> Element ?
+
public mutating func next () async rethrows -> Element ?
@@ -396,7 +408,7 @@ Return Value
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/MergeAsyncSequence.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/MergeAsyncSequence.html
index 9b93e24..19d83b4 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/MergeAsyncSequence.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/MergeAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -178,7 +190,7 @@ MergeAsyncSequence
continuation . finish ()
}
-for await value in streamA . merge ( with : streamB ) {
+for await value in streamA . merge ( with : streamB ) {
print ( value )
}
@@ -385,7 +397,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async rethrows -> Element ?
+
public mutating func next () async rethrows -> Element ?
@@ -401,7 +413,7 @@ Return Value
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/PassthroughAsyncSequence.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/PassthroughAsyncSequence.html
index cc1792b..6aad9c7 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/PassthroughAsyncSequence.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/PassthroughAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -164,7 +176,7 @@ PassthroughAsyncSequence
sequence . yield ( 2 )
sequence . finish ()
-for await value in sequence {
+for await value in sequence {
print ( value )
}
@@ -401,7 +413,7 @@ Parameters
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/RemoveDuplicatesAsyncSequence.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/RemoveDuplicatesAsyncSequence.html
index 5a3ae22..8ed4c06 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/RemoveDuplicatesAsyncSequence.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/RemoveDuplicatesAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -168,7 +180,7 @@ RemoveDuplicatesAsyncSequence
continuation . finish ()
}
-for await value in stream . removeDuplicates () {
+for await value in stream . removeDuplicates () {
print ( value )
}
@@ -398,7 +410,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async rethrows -> Element ?
+
public mutating func next () async rethrows -> Element ?
@@ -414,7 +426,7 @@ Return Value
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/ReplaceErrorAsyncSequence.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/ReplaceErrorAsyncSequence.html
index d29cd08..fbcf21a 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/ReplaceErrorAsyncSequence.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/ReplaceErrorAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -164,7 +176,7 @@ ReplaceErrorAsyncSequence
)
. replaceError ( with : 0 )
-for await value in stream {
+for await value in stream {
print ( value )
}
@@ -354,7 +366,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async -> Element ?
+
public mutating func next () async -> Element ?
@@ -370,7 +382,7 @@ Return Value
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/SequenceAsyncSequence.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/SequenceAsyncSequence.html
new file mode 100644
index 0000000..555ea9f
--- /dev/null
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/SequenceAsyncSequence.html
@@ -0,0 +1,331 @@
+
+
+
+ SequenceAsyncSequence Structure Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Docs (100% documented)
+
+
+
+
+
+ Reference
+
+ SequenceAsyncSequence Structure Reference
+
+
+
+
+
+
+
+ SequenceAsyncSequence
+
+
+
+
public struct SequenceAsyncSequence < P > : AsyncSequence where P : Sequence
+
+
+
+ An async version of Sequence
. Generally used to turn any Sequence
into
+it’s async counterpart.
+let sequence = [ 0 , 1 , 2 , 3 ] . async
+
+for await value in sequence {
+ print ( value )
+}
+
+// Prints:
+// 1
+// 2
+// 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
The kind of elements streamed.
+
+
+
+
Declaration
+
+
Swift
+
public typealias Element = P . Element
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Creates an async sequence that combines the two async sequence.
+
+
+
+
Declaration
+
+
Swift
+
public init ( _ sequence : P )
+
+
+
+
+
Parameters
+
+
+
+
+
+ p
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Creates an async iterator that emits elements of this async sequence.
+
+
+
+
+
Return Value
+
An instance that conforms to AsyncIteratorProtocol
.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/SequenceAsyncSequenceIterator.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/SequenceAsyncSequenceIterator.html
new file mode 100644
index 0000000..76b88fa
--- /dev/null
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/SequenceAsyncSequenceIterator.html
@@ -0,0 +1,270 @@
+
+
+
+ SequenceAsyncSequenceIterator Structure Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Docs (100% documented)
+
+
+
+
+
+ Reference
+
+ SequenceAsyncSequenceIterator Structure Reference
+
+
+
+
+
+
+
+ SequenceAsyncSequenceIterator
+
+
+
+
public struct SequenceAsyncSequenceIterator < P > : AsyncIteratorProtocol where P : Sequence
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Declaration
+
+
Swift
+
public init ( _ iterator : P . Iterator )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
AsyncIteratorProtocol
+
+
+
+
+
+
+
+
+
+ next()
+
+
+ Asynchronous
+
+
+
+
+
+
+
+
Produces the next element in the sequence.
+
+
+
+
Declaration
+
+
Swift
+
public mutating func next () async -> P . Element ?
+
+
+
+
+
Return Value
+
The next element or nil
if the end of the sequence is reached.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/SharedAsyncSequence.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/SharedAsyncSequence.html
index f94aa07..2c7d58e 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/SharedAsyncSequence.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/SharedAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -174,16 +186,16 @@ SharedAsyncSequence
. shared ()
Task {
- let values = try await self . stream . collect ()
+ let values = try await self . stream . collect ()
// ...
}
Task . detached {
- let values = try await self . stream . collect ()
+ let values = try await self . stream . collect ()
// ...
}
-let values = try await self . stream . collect ()
+let values = try await self . stream . collect ()
// ...
@@ -387,7 +399,7 @@ CurrentElementAsyncSequence extension
Declaration
@@ -438,7 +450,7 @@ Parameters
Declaration
@@ -470,7 +482,7 @@ Declaration
Declaration
@@ -519,7 +531,7 @@ Parameters
Declaration
@@ -669,7 +681,7 @@ Parameters
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/ThrottleAsyncSequence.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/ThrottleAsyncSequence.html
index ad7b70f..428b4de 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/ThrottleAsyncSequence.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/ThrottleAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -165,9 +177,9 @@ ThrottleAsyncSequence
interval you specify. Other elements received within the throttling interval aren’t emitted.
let stream = AsyncStream < Int > { continuation in
continuation . yield ( 0 )
- try ? await Task . sleep ( nanoseconds : 100_000_000 )
+ try ? await Task . sleep ( nanoseconds : 100_000_000 )
continuation . yield ( 1 )
- try ? await Task . sleep ( nanoseconds : 100_000_000 )
+ try ? await Task . sleep ( nanoseconds : 100_000_000 )
continuation . yield ( 2 )
continuation . yield ( 3 )
continuation . yield ( 4 )
@@ -175,7 +187,7 @@ ThrottleAsyncSequence
continuation . finish ()
}
-for element in try await self . stream . throttle ( for : 0.05 , latest : true ) {
+for element in try await self . stream . throttle ( for : 0.05 , latest : true ) {
print ( element )
}
@@ -386,7 +398,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async throws -> Element ?
+
public mutating func next () async throws -> Element ?
@@ -402,7 +414,7 @@ Return Value
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/ThrowingPassthroughAsyncSequence.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/ThrowingPassthroughAsyncSequence.html
index 4ed7e8f..bcf2f02 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/ThrowingPassthroughAsyncSequence.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/ThrowingPassthroughAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -165,7 +177,7 @@ ThrowingPassthroughAsyncSequence
sequence . finish ( throwing : TestError ())
do {
- for try await value in sequence {
+ for try await value in sequence {
print ( value )
}
} catch {
@@ -455,7 +467,7 @@ Parameters
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/Zip3AsyncSequence.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/Zip3AsyncSequence.html
index 1c57834..7c85f17 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/Zip3AsyncSequence.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/Zip3AsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -185,7 +197,7 @@ Zip3AsyncSequence
continuation . finish ()
}
-for await value in streamA . zip ( streamB , streamC ) {
+for await value in streamA . zip ( streamB , streamC ) {
print ( value )
}
@@ -311,7 +323,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async rethrows -> Element ?
+
public mutating func next () async rethrows -> Element ?
@@ -327,7 +339,7 @@ Return Value
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/ZipAsyncSequence.html b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/ZipAsyncSequence.html
index a7c2faf..e420588 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/ZipAsyncSequence.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/Structs/ZipAsyncSequence.html
@@ -77,6 +77,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -91,6 +94,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -127,6 +133,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -179,7 +191,7 @@ ZipAsyncSequence
continuation . finish ()
}
-for await value in streamA . zip ( streamB ) {
+for await value in streamA . zip ( streamB ) {
print ( value )
}
@@ -305,7 +317,7 @@ AsyncIteratorProtocol
Declaration
Swift
-
public mutating func next () async rethrows -> Element ?
+
public mutating func next () async rethrows -> Element ?
@@ -321,7 +333,7 @@ Return Value
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/badge.svg b/.documentation/docsets/.docset/Contents/Resources/Documents/badge.svg
index bfac052..a096fec 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/badge.svg
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/badge.svg
@@ -1,15 +1,15 @@
-
+
-
+
-
-
+
+
@@ -18,11 +18,11 @@
documentation
-
- 99%
+
+ 100%
-
- 99%
+
+ 100%
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/index.html b/.documentation/docsets/.docset/Contents/Resources/Documents/index.html
index e5b8f09..ebfe09c 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/index.html
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/index.html
@@ -76,6 +76,9 @@
– Continuation
+
+ Sequence
+
Task
@@ -90,6 +93,9 @@
AnyThrowingAsyncSequenceable
+
+ ChainAsyncSequence
+
CombineLatest3AsyncSequence
@@ -126,6 +132,12 @@
ReplaceErrorAsyncSequence
+
+ SequenceAsyncSequence
+
+
+ SequenceAsyncSequenceIterator
+
SharedAsyncSequence
@@ -207,7 +219,7 @@ First
continuation . finish ()
}
-print ( await sequence . first ())
+print ( await sequence . first ())
// Prints:
// 1
@@ -220,7 +232,7 @@ Collect
continuation . finish ()
}
-print ( await sequence . collect ())
+print ( await sequence . collect ())
// Prints:
// [1, 2, 3]
@@ -268,6 +280,43 @@
+let sequenceA = AsyncStream < Int > { continuation in
+ continuation . yield ( 1 )
+ continuation . yield ( 2 )
+ continuation . yield ( 3 )
+ continuation . finish ()
+}
+
+let sequenceB = AsyncStream < Int > { continuation in
+ continuation . yield ( 4 )
+ continuation . yield ( 5 )
+ continuation . yield ( 6 )
+ continuation . finish ()
+}
+
+let sequenceC = AsyncStream < Int > { continuation in
+ continuation . yield ( 7 )
+ continuation . yield ( 8 )
+ continuation . yield ( 9 )
+ continuation . finish ()
+}
+
+for await value in sequenceA . chain ( with : sequenceB ) . chain ( with : sequenceC ) {
+ print ( value )
+}
+
+// Prints:
+// 1
+// 2
+// 3
+// 4
+// 5
+// 6
+// 7
+// 8
+// 9
+
let streamA = . init { continuation in
continuation . yield ( 1 )
@@ -286,7 +335,7 @@ continuation
. finish ()
}
-for await value in streamA . combineLatest ( streamB , streamC ) {
+for await value in streamA . combineLatest ( streamB , streamC ) {
print ( value )
}
@@ -334,15 +383,15 @@
let sequence = CurrentElementAsyncSequence ( 0 )
-print ( await sequence . element )
+print ( await sequence . element )
-await stream . yield ( 1 )
-print ( await sequence . element )
+await stream . yield ( 1 )
+print ( await sequence . element )
-await stream . yield ( 2 )
-await stream . yield ( 3 )
-await stream . yield ( 4 )
-print ( await sequence . element )
+await stream . yield ( 2 )
+await stream . yield ( 3 )
+await stream . yield ( 4 )
+print ( await sequence . element )
// Prints:
// 0
@@ -352,9 +401,9 @@
let stream = AsyncStream < Int > { continuation in
continuation . yield ( 0 )
- try ? await Task . sleep ( nanoseconds : 200_000_000 )
+ try ? await Task . sleep ( nanoseconds : 200_000_000 )
continuation . yield ( 1 )
- try ? await Task . sleep ( nanoseconds : 200_000_000 )
+ try ? await Task . sleep ( nanoseconds : 200_000_000 )
continuation . yield ( 2 )
continuation . yield ( 3 )
continuation . yield ( 4 )
@@ -362,7 +411,7 @@ }
let start = Date . now
-for element in try await self . stream . delay ( for : 0.5 ) {
+for element in try await self . stream . delay ( for : 0.5 ) {
print ( " \( element ) - \( Date . now . timeIntervalSince ( start ) ) " )
}
@@ -410,7 +459,7 @@ let stream = Fail < Int , TestError > ( error : TestError ())
do {
- for try await value in stream {
+ for try await value in stream {
print ( value )
}
} catch {
@@ -423,7 +472,7 @@
let stream = Just ( 1 )
-for await value in stream {
+for await value in stream {
print ( value )
}
@@ -448,7 +497,7 @@ continuation. finish ()
}
-for await value in self . streamA . merge ( with : self . streamB , self . streamC ) {
+for await value in self . streamA . merge ( with : self . streamB , self . streamC ) {
print ( value )
}
@@ -497,7 +546,7 @@ continuation. finish ()
}
-for await value in stream . removeDuplicates () {
+for await value in stream . removeDuplicates () {
print ( value )
}
@@ -530,13 +579,25 @@
+let sequence = [ 0 , 1 , 2 , 3 ] . async
+
+for await value in sequence {
+ print ( value )
+}
+
+// Prints:
+// 1
+// 2
+// 3
+
let values = [
"a" ,
@@ -554,24 +615,24 @@
let stream = AsyncStream < Int > { continuation in
continuation . yield ( 0 )
- try ? await Task . sleep ( nanoseconds : 100_000_000 )
+ try ? await Task . sleep ( nanoseconds : 100_000_000 )
continuation . yield ( 1 )
- try ? await Task . sleep ( nanoseconds : 100_000_000 )
+ try ? await Task . sleep ( nanoseconds : 100_000_000 )
continuation . yield ( 2 )
continuation . yield ( 3 )
continuation . yield ( 4 )
@@ -579,7 +640,7 @@ sequence. finish ( throwing : TestError ())
do {
- for try await value in sequence {
+ for try await value in sequence {
print ( value )
}
} catch {
@@ -614,7 +675,7 @@ continuation. finish ()
}
-for await value in streamA . zip ( streamB ) {
+for await value in streamA . zip ( streamB ) {
print ( value )
}
@@ -665,7 +726,7 @@ AsyncThrowingStream.Co
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/search.json b/.documentation/docsets/.docset/Contents/Resources/Documents/search.json
index 207daf4..d182d2f 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/search.json
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/search.json
@@ -1 +1 @@
-{"Structs/ZipAsyncSequence.html#/s:10Asynchrone16ZipAsyncSequenceV7Elementa":{"name":"Element","abstract":" The kind of elements streamed.
","parent_name":"ZipAsyncSequence"},"Structs/ZipAsyncSequence.html#/s:10Asynchrone16ZipAsyncSequenceV04makeC8IteratorACyxq_GyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"ZipAsyncSequence"},"Structs/ZipAsyncSequence.html#/s:10Asynchrone16ZipAsyncSequenceV4next7ElementQz_AEQy_tSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"ZipAsyncSequence"},"Structs/Zip3AsyncSequence.html#/s:10Asynchrone17Zip3AsyncSequenceV7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"Zip3AsyncSequence"},"Structs/Zip3AsyncSequence.html#/s:10Asynchrone17Zip3AsyncSequenceV04makeC8IteratorACyxq_q0_GyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"Zip3AsyncSequence"},"Structs/Zip3AsyncSequence.html#/s:10Asynchrone17Zip3AsyncSequenceV4next7ElementQz_AEQy_AEQy0_tSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"Zip3AsyncSequence"},"Structs/ThrowingPassthroughAsyncSequence.html#/s:10Asynchrone32ThrowingPassthroughAsyncSequenceVACyxGycfc":{"name":"init()","abstract":"Creates an async sequence that broadcasts elements.
","parent_name":"ThrowingPassthroughAsyncSequence"},"Structs/ThrowingPassthroughAsyncSequence.html#/s:10Asynchrone32ThrowingPassthroughAsyncSequenceV04makeD8IteratorScs0G0Vyxs5Error_p_GyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"ThrowingPassthroughAsyncSequence"},"Structs/ThrowingPassthroughAsyncSequence.html#/s:10Asynchrone32ThrowingPassthroughAsyncSequenceV5yieldyyxF":{"name":"yield(_:)","abstract":"Yield a new element to the sequence.
","parent_name":"ThrowingPassthroughAsyncSequence"},"Structs/ThrowingPassthroughAsyncSequence.html#/s:10Asynchrone32ThrowingPassthroughAsyncSequenceV6finishyyF":{"name":"finish()","abstract":"Mark the sequence as finished by having it’s iterator emit nil.
","parent_name":"ThrowingPassthroughAsyncSequence"},"Structs/ThrowingPassthroughAsyncSequence.html#/s:10Asynchrone32ThrowingPassthroughAsyncSequenceV6finish8throwingys5Error_p_tF":{"name":"finish(throwing:)","abstract":"Mark the sequence as finished by having it’s iterator throw the provided error.
","parent_name":"ThrowingPassthroughAsyncSequence"},"Structs/ThrowingPassthroughAsyncSequence.html#/s:10Asynchrone32ThrowingPassthroughAsyncSequenceV6finish4withyx_tF":{"name":"finish(with:)","abstract":"Emit one last element beford marking the sequence as finished by having it’s iterator emit nil.
","parent_name":"ThrowingPassthroughAsyncSequence"},"Structs/ThrottleAsyncSequence.html#/s:10Asynchrone21ThrottleAsyncSequenceV7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"ThrottleAsyncSequence"},"Structs/ThrottleAsyncSequence.html#/s:10Asynchrone21ThrottleAsyncSequenceV_8interval6latestACyxGx_SdSbtcfc":{"name":"init(_:interval:latest:)","abstract":"Creates an async sequence that emits either the most-recent or first element","parent_name":"ThrottleAsyncSequence"},"Structs/ThrottleAsyncSequence.html#/s:10Asynchrone21ThrottleAsyncSequenceV04makeC8IteratorScs0F0Vy7ElementQzs5Error_p_GyF":{"name":"makeAsyncIterator()","abstract":"
Creates an async iterator that emits elements of this async sequence.
","parent_name":"ThrottleAsyncSequence"},"Structs/ThrottleAsyncSequence.html#/s:10Asynchrone21ThrottleAsyncSequenceV4next7ElementQzSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"ThrottleAsyncSequence"},"Structs/SharedAsyncSequence.html#/s:10Asynchrone19SharedAsyncSequenceV0C8Iteratora":{"name":"AsyncIterator","abstract":"The type of async iterator.
","parent_name":"SharedAsyncSequence"},"Structs/SharedAsyncSequence.html#/s:10Asynchrone19SharedAsyncSequenceV7Elementa":{"name":"Element","abstract":"The type of elements streamed.
","parent_name":"SharedAsyncSequence"},"Structs/SharedAsyncSequence.html#/s:10Asynchrone19SharedAsyncSequenceVyACyxGxcfc":{"name":"init(_:)","abstract":"Creates a shareable async sequence that can be used across multiple tasks.
","parent_name":"SharedAsyncSequence"},"Structs/SharedAsyncSequence.html#/s:10Asynchrone19SharedAsyncSequenceV04makeC8IteratorScs0F0Vy7ElementQzs5Error_p_GyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"SharedAsyncSequence"},"Structs/SharedAsyncSequence.html#/s:10Asynchrone19SharedAsyncSequenceV5yieldyyqd__YaAA014CurrentElementcD0Cyqd__GRszlF":{"name":"yield(_:)","abstract":"Yield a new element to the sequence.
","parent_name":"SharedAsyncSequence"},"Structs/SharedAsyncSequence.html#/s:10Asynchrone19SharedAsyncSequenceV6finishyyYaAA014CurrentElementcD0Cyqd__GRszlF":{"name":"finish()","abstract":"Mark the sequence as finished by having it’s iterator emit nil.
","parent_name":"SharedAsyncSequence"},"Structs/SharedAsyncSequence.html#/s:10Asynchrone19SharedAsyncSequenceV6finish4withyqd___tYaAA014CurrentElementcD0Cyqd__GRszlF":{"name":"finish(with:)","abstract":"Emit one last element beford marking the sequence as finished by having it’s iterator emit nil.
","parent_name":"SharedAsyncSequence"},"Structs/SharedAsyncSequence.html#/s:10Asynchrone19SharedAsyncSequenceV7elementqd__yYaAA014CurrentElementcD0Cyqd__GRszlF":{"name":"element()","abstract":"The element wrapped by this async sequence, emitted as a new element whenever it changes.
","parent_name":"SharedAsyncSequence"},"Structs/SharedAsyncSequence.html#/s:10Asynchrone19SharedAsyncSequenceV5yieldyyqd__AA011PassthroughcD0Vyqd__GRszlF":{"name":"yield(_:)","abstract":"Yield a new element to the sequence.
","parent_name":"SharedAsyncSequence"},"Structs/SharedAsyncSequence.html#/s:10Asynchrone19SharedAsyncSequenceV6finishyyAA011PassthroughcD0Vyqd__GRszlF":{"name":"finish()","abstract":"Mark the sequence as finished by having it’s iterator emit nil.
","parent_name":"SharedAsyncSequence"},"Structs/SharedAsyncSequence.html#/s:10Asynchrone19SharedAsyncSequenceV6finish4withyqd___tAA011PassthroughcD0Vyqd__GRszlF":{"name":"finish(with:)","abstract":"Emit one last element beford marking the sequence as finished by having it’s iterator emit nil.
","parent_name":"SharedAsyncSequence"},"Structs/ReplaceErrorAsyncSequence.html#/s:10Asynchrone25ReplaceErrorAsyncSequenceV7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"ReplaceErrorAsyncSequence"},"Structs/ReplaceErrorAsyncSequence.html#/s:10Asynchrone25ReplaceErrorAsyncSequenceV4base6outputACyxGx_7ElementQztcfc":{"name":"init(base:output:)","abstract":"Creates an async sequence that replaces any errors in the sequence with a provided element.
","parent_name":"ReplaceErrorAsyncSequence"},"Structs/ReplaceErrorAsyncSequence.html#/s:10Asynchrone25ReplaceErrorAsyncSequenceV04makeD8IteratorACyxGyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"ReplaceErrorAsyncSequence"},"Structs/ReplaceErrorAsyncSequence.html#/s:10Asynchrone25ReplaceErrorAsyncSequenceV4next7ElementQzSgyYaF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"ReplaceErrorAsyncSequence"},"Structs/RemoveDuplicatesAsyncSequence.html#/s:10Asynchrone29RemoveDuplicatesAsyncSequenceV7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"RemoveDuplicatesAsyncSequence"},"Structs/RemoveDuplicatesAsyncSequence.html#/s:10Asynchrone29RemoveDuplicatesAsyncSequenceV9Predicatea":{"name":"Predicate","parent_name":"RemoveDuplicatesAsyncSequence"},"Structs/RemoveDuplicatesAsyncSequence.html#/s:10Asynchrone29RemoveDuplicatesAsyncSequenceV4base9predicateACyxGx_Sb7ElementQz_AHtctcfc":{"name":"init(base:predicate:)","abstract":"Creates an async that only emits elements that don’t match the previous element,","parent_name":"RemoveDuplicatesAsyncSequence"},"Structs/RemoveDuplicatesAsyncSequence.html#/s:10Asynchrone29RemoveDuplicatesAsyncSequenceV04makeD8IteratorACyxGyF":{"name":"makeAsyncIterator()","abstract":"
Creates an async iterator that emits elements of this async sequence.
","parent_name":"RemoveDuplicatesAsyncSequence"},"Structs/RemoveDuplicatesAsyncSequence.html#/s:10Asynchrone29RemoveDuplicatesAsyncSequenceV4next7ElementQzSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"RemoveDuplicatesAsyncSequence"},"Structs/PassthroughAsyncSequence.html#/s:10Asynchrone24PassthroughAsyncSequenceVACyxGycfc":{"name":"init()","abstract":"Creates an async sequence that broadcasts elements.
","parent_name":"PassthroughAsyncSequence"},"Structs/PassthroughAsyncSequence.html#/s:10Asynchrone24PassthroughAsyncSequenceV04makeC8IteratorScS0F0Vyx_GyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"PassthroughAsyncSequence"},"Structs/PassthroughAsyncSequence.html#/s:10Asynchrone24PassthroughAsyncSequenceV5yieldyyxF":{"name":"yield(_:)","abstract":"Yield a new element to the sequence.
","parent_name":"PassthroughAsyncSequence"},"Structs/PassthroughAsyncSequence.html#/s:10Asynchrone24PassthroughAsyncSequenceV6finishyyF":{"name":"finish()","abstract":"Mark the sequence as finished by having it’s iterator emit nil.
","parent_name":"PassthroughAsyncSequence"},"Structs/PassthroughAsyncSequence.html#/s:10Asynchrone24PassthroughAsyncSequenceV6finish4withyx_tF":{"name":"finish(with:)","abstract":"Emit one last element beford marking the sequence as finished by having it’s iterator emit nil.
","parent_name":"PassthroughAsyncSequence"},"Structs/MergeAsyncSequence.html#/s:10Asynchrone18MergeAsyncSequenceV7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"MergeAsyncSequence"},"Structs/MergeAsyncSequence.html#/s:10Asynchrone18MergeAsyncSequenceVyACyxGx_xtcfc":{"name":"init(_:_:)","abstract":"Creates an async sequence that merges the provided async sequence’s.
","parent_name":"MergeAsyncSequence"},"Structs/MergeAsyncSequence.html#/s:10Asynchrone18MergeAsyncSequenceV04makeC8IteratorScS0F0Vy7ElementQz_GyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"MergeAsyncSequence"},"Structs/MergeAsyncSequence.html#/s:10Asynchrone18MergeAsyncSequenceV4next7ElementQzSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"MergeAsyncSequence"},"Structs/Merge3AsyncSequence.html#/s:10Asynchrone19Merge3AsyncSequenceV7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"Merge3AsyncSequence"},"Structs/Merge3AsyncSequence.html#/s:10Asynchrone19Merge3AsyncSequenceVyACyxGx_xxtcfc":{"name":"init(_:_:_:)","abstract":"Creates an async sequence that merges the provided async sequence’s.
","parent_name":"Merge3AsyncSequence"},"Structs/Merge3AsyncSequence.html#/s:10Asynchrone19Merge3AsyncSequenceV04makeC8IteratorScs0F0Vy7ElementQzs5Error_p_GyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"Merge3AsyncSequence"},"Structs/Merge3AsyncSequence.html#/s:10Asynchrone19Merge3AsyncSequenceV4next7ElementQzSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"Merge3AsyncSequence"},"Structs/Just.html#/s:10Asynchrone4JustVyACyxGxcfc":{"name":"init(_:)","abstract":"Creates an async sequence that emits an element once.
","parent_name":"Just"},"Structs/Just.html#/s:10Asynchrone4JustV17makeAsyncIteratorACyxGyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"Just"},"Structs/Just.html#/s:10Asynchrone4JustV4nextxSgyYaF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"Just"},"Structs/Fail.html#/s:10Asynchrone4FailV5errorACyxq_Gq__tcfc":{"name":"init(error:)","abstract":"Creates an async sequence that throws an error.
","parent_name":"Fail"},"Structs/Fail.html#/s:10Asynchrone4FailV17makeAsyncIteratorACyxq_GyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"Fail"},"Structs/Fail.html#/s:10Asynchrone4FailV4nextxSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"Fail"},"Structs/Empty.html#/s:10Asynchrone5EmptyV19completeImmediatelyACyxGSb_tcfc":{"name":"init(completeImmediately:)","abstract":"Creates an empty async sequence.
","parent_name":"Empty"},"Structs/Empty.html#/s:10Asynchrone5EmptyV17makeAsyncIteratorACyxGyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"Empty"},"Structs/Empty.html#/s:10Asynchrone5EmptyV4nextxSgyYaF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"Empty"},"Structs/DelayAsyncSequence.html#/s:10Asynchrone18DelayAsyncSequenceV7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"DelayAsyncSequence"},"Structs/DelayAsyncSequence.html#/s:10Asynchrone18DelayAsyncSequenceV_8intervalACyxGx_Sdtcfc":{"name":"init(_:interval:)","abstract":"Creates an async sequence that delays emission of elements and completion.
","parent_name":"DelayAsyncSequence"},"Structs/DelayAsyncSequence.html#/s:10Asynchrone18DelayAsyncSequenceV04makeC8IteratorACyxGyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"DelayAsyncSequence"},"Structs/DelayAsyncSequence.html#/s:10Asynchrone18DelayAsyncSequenceV4next7ElementQzSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"DelayAsyncSequence"},"Structs/DebounceAsyncSequence.html#/s:10Asynchrone21DebounceAsyncSequenceV7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"DebounceAsyncSequence"},"Structs/DebounceAsyncSequence.html#/s:10Asynchrone21DebounceAsyncSequenceV_7dueTimeACyxGx_Sdtcfc":{"name":"init(_:dueTime:)","abstract":"Creates an async sequence that emits elements only after a specified time interval elapses between emissions.
","parent_name":"DebounceAsyncSequence"},"Structs/DebounceAsyncSequence.html#/s:10Asynchrone21DebounceAsyncSequenceV04makeC8IteratorScs0F0Vy7ElementQzs5Error_p_GyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"DebounceAsyncSequence"},"Structs/DebounceAsyncSequence.html#/s:10Asynchrone21DebounceAsyncSequenceV4next7ElementQzSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"DebounceAsyncSequence"},"Structs/CombineLatestAsyncSequence.html#/s:10Asynchrone26CombineLatestAsyncSequenceV7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"CombineLatestAsyncSequence"},"Structs/CombineLatestAsyncSequence.html#/s:10Asynchrone26CombineLatestAsyncSequenceVyACyxq_Gx_q_tcfc":{"name":"init(_:_:)","abstract":"Creates an async sequence that only emits elements that don’t match the previous element,","parent_name":"CombineLatestAsyncSequence"},"Structs/CombineLatestAsyncSequence.html#/s:10Asynchrone26CombineLatestAsyncSequenceV04makeD8IteratorACyxq_GyF":{"name":"makeAsyncIterator()","abstract":"
Creates an async iterator that emits elements of this async sequence.
","parent_name":"CombineLatestAsyncSequence"},"Structs/CombineLatestAsyncSequence.html#/s:10Asynchrone26CombineLatestAsyncSequenceV4next7ElementQz_AEQy_tSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"CombineLatestAsyncSequence"},"Structs/CombineLatest3AsyncSequence.html#/s:10Asynchrone27CombineLatest3AsyncSequenceV7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"CombineLatest3AsyncSequence"},"Structs/CombineLatest3AsyncSequence.html#/s:10Asynchrone27CombineLatest3AsyncSequenceVyACyxq_q0_Gx_q_q0_tcfc":{"name":"init(_:_:_:)","abstract":"Creates an async sequence that only emits elements that don’t match the previous element,","parent_name":"CombineLatest3AsyncSequence"},"Structs/CombineLatest3AsyncSequence.html#/s:10Asynchrone27CombineLatest3AsyncSequenceV04makeD8IteratorACyxq_q0_GyF":{"name":"makeAsyncIterator()","abstract":"
Creates an async iterator that emits elements of this async sequence.
","parent_name":"CombineLatest3AsyncSequence"},"Structs/CombineLatest3AsyncSequence.html#/s:10Asynchrone27CombineLatest3AsyncSequenceV4next7ElementQz_AEQy_AEQy0_tSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"CombineLatest3AsyncSequence"},"Structs/AnyThrowingAsyncSequenceable.html#/s:10Asynchrone28AnyThrowingAsyncSequenceableVyACyxGqd__c7ElementQyd__RszSciRd__lufc":{"name":"init(_:)","abstract":"Creates a type erasing async sequence.
","parent_name":"AnyThrowingAsyncSequenceable"},"Structs/AnyThrowingAsyncSequenceable.html#/s:10Asynchrone28AnyThrowingAsyncSequenceableVyACyxGSgqd__Sgc7ElementQyd__RszSciRd__lufc":{"name":"init(_:)","abstract":"Creates an optional type erasing async sequence.
","parent_name":"AnyThrowingAsyncSequenceable"},"Structs/AnyThrowingAsyncSequenceable.html#/s:10Asynchrone28AnyThrowingAsyncSequenceableV04makeD8IteratorACyxGyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"AnyThrowingAsyncSequenceable"},"Structs/AnyThrowingAsyncSequenceable.html#/s:10Asynchrone28AnyThrowingAsyncSequenceableV4nextxSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"AnyThrowingAsyncSequenceable"},"Structs/AnyAsyncSequenceable.html#/s:10Asynchrone20AnyAsyncSequenceableVyACyxGqd__c7ElementQyd__RszSciRd__lufc":{"name":"init(_:)","abstract":"Creates a type erasing async sequence.
","parent_name":"AnyAsyncSequenceable"},"Structs/AnyAsyncSequenceable.html#/s:10Asynchrone20AnyAsyncSequenceableVyACyxGSgqd__Sgc7ElementQyd__RszSciRd__lufc":{"name":"init(_:)","abstract":"Creates an optional type erasing async sequence.
","parent_name":"AnyAsyncSequenceable"},"Structs/AnyAsyncSequenceable.html#/s:10Asynchrone20AnyAsyncSequenceableV04makeC8IteratorACyxGyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"AnyAsyncSequenceable"},"Structs/AnyAsyncSequenceable.html#/s:10Asynchrone20AnyAsyncSequenceableV4nextxSgyYaF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"AnyAsyncSequenceable"},"Structs/AnyAsyncSequenceable.html":{"name":"AnyAsyncSequenceable","abstract":"An async sequence that performs type erasure by wrapping another async sequence.
"},"Structs/AnyThrowingAsyncSequenceable.html":{"name":"AnyThrowingAsyncSequenceable","abstract":"A throwing async sequence that performs type erasure by wrapping another throwing async sequence.
"},"Structs/CombineLatest3AsyncSequence.html":{"name":"CombineLatest3AsyncSequence","abstract":"An asynchronous sequence that combines three async sequences.
"},"Structs/CombineLatestAsyncSequence.html":{"name":"CombineLatestAsyncSequence","abstract":"An asynchronous sequence that combines two async sequences.
"},"Structs/DebounceAsyncSequence.html":{"name":"DebounceAsyncSequence","abstract":"A async sequence that emits elements only after a specified time interval elapses between emissions.
"},"Structs/DelayAsyncSequence.html":{"name":"DelayAsyncSequence","abstract":"Delays emission of all elements by the provided interval.
"},"Structs/Empty.html":{"name":"Empty","abstract":"An asynchronous sequence that only emits the provided value once.
"},"Structs/Fail.html":{"name":"Fail","abstract":"An asynchronous sequence that immediately throws an error when iterated.
"},"Structs/Just.html":{"name":"Just","abstract":"An asynchronous sequence that only emits the provided value once.
"},"Structs/Merge3AsyncSequence.html":{"name":"Merge3AsyncSequence","abstract":"An asynchronous sequence that merges three async sequences.
"},"Structs/MergeAsyncSequence.html":{"name":"MergeAsyncSequence","abstract":"An asynchronous sequence that merges two async sequences.
"},"Structs/PassthroughAsyncSequence.html":{"name":"PassthroughAsyncSequence","abstract":"A async sequence that broadcasts elements.
"},"Structs/RemoveDuplicatesAsyncSequence.html":{"name":"RemoveDuplicatesAsyncSequence","abstract":"An asynchronous sequence that streams only elements from the base asynchronous sequence"},"Structs/ReplaceErrorAsyncSequence.html":{"name":"ReplaceErrorAsyncSequence","abstract":"
An async sequence that replaces any errors in the sequence with a provided element.
"},"Structs/SharedAsyncSequence.html":{"name":"SharedAsyncSequence","abstract":"An async sequence that can be shared between multiple tasks.
"},"Structs/ThrottleAsyncSequence.html":{"name":"ThrottleAsyncSequence","abstract":"An async sequence that emits either the most-recent or first element emitted"},"Structs/ThrowingPassthroughAsyncSequence.html":{"name":"ThrowingPassthroughAsyncSequence","abstract":"
A async sequence that broadcasts elements.
"},"Structs/Zip3AsyncSequence.html":{"name":"Zip3AsyncSequence","abstract":"An asynchronous sequence that applys a zip function to the three async sequences.
"},"Structs/ZipAsyncSequence.html":{"name":"ZipAsyncSequence","abstract":"An asynchronous sequence that applys a zip function to the two async sequences.
"},"Extensions/Task.html#/s:ScT10Asynchrones5NeverORszACRs_rlE5sleep7secondsySd_tYaKFZ":{"name":"sleep(seconds:)","abstract":"Suspends the current task for at least the given duration in seconds.
","parent_name":"Task"},"Extensions/AsyncThrowingStream/Continuation.html#/s:Scs12ContinuationV10AsynchroneE6finish4withyx_tF":{"name":"finish(with:)","abstract":"Yield the provided value and then finish the stream.
","parent_name":"Continuation"},"Extensions/AsyncThrowingStream.html#/s:Scs10AsynchroneE_15bufferingPolicy_Scsyxs5Error_pGxm_Scs12ContinuationV09BufferingC0OyxsAC_p__GyAFyxsAC_p_GYactcsAC_pRs_rlufc":{"name":"init(_:bufferingPolicy:_:)","abstract":"Construct a AsyncThrowingStream buffering given an Element type.
","parent_name":"AsyncThrowingStream"},"Extensions/AsyncThrowingStream/Continuation.html":{"name":"Continuation","parent_name":"AsyncThrowingStream"},"Extensions/AsyncStream/Continuation.html#/s:ScS12ContinuationV10AsynchroneE6finish4withyx_tF":{"name":"finish(with:)","abstract":"Yield the provided value and then finish the stream.
","parent_name":"Continuation"},"Extensions/AsyncStream.html#/s:ScS10AsynchroneE_15bufferingPolicy_ScSyxGxm_ScS12ContinuationV09BufferingC0Oyx__GyAEyx_GYactcfc":{"name":"init(_:bufferingPolicy:_:)","abstract":"Construct a AsyncStream buffering given an Element type.
","parent_name":"AsyncStream"},"Extensions/AsyncStream/Continuation.html":{"name":"Continuation","parent_name":"AsyncStream"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE6assign2to2onScTyyts5Error_pGs24ReferenceWritableKeyPathCyqd__7ElementQzG_qd__tKlF":{"name":"assign(to:on:)","abstract":"Assigns each element from an async sequence to a property on an object.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE5first7ElementQzSgyYaKF":{"name":"first()","abstract":"The first element of the sequence, if there is one.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE7collectySay7ElementQzGSiSgYaKF":{"name":"collect(_:)","abstract":"Collect elements from a sequence.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE4sinkyScTyyts5Error_pGy7ElementQzYacF":{"name":"sink(_:)","abstract":"Consume the async sequence and pass the element’s to a closure.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE4sink12receiveValue0C10CompletionScTyyts5NeverOGy7ElementQzYac_yAA013AsyncSequenceE0Oys5Error_pGYactF":{"name":"sink(receiveValue:receiveCompletion:)","abstract":"Consume the async sequence and pass the element’s and it’s completion","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE27eraseToAnyAsyncSequenceableAA0deF0Vy7ElementQzGyF":{"name":"eraseToAnyAsyncSequenceable()","abstract":"
Creates a type erasing async sequence.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE35eraseToAnyThrowingAsyncSequenceableAA0defG0Vy7ElementQzGyF":{"name":"eraseToAnyThrowingAsyncSequenceable()","abstract":"Creates a throwing type erasing async sequence.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE13combineLatestyAA27CombineLatest3AsyncSequenceVyxqd__qd_0_Gqd___qd_0_tSciRd__SciRd_0_r0_lF":{"name":"combineLatest(_:_:)","abstract":"Combine three async sequences.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE13combineLatestyAA07CombineC13AsyncSequenceVyxqd__Gqd__SciRd__lF":{"name":"combineLatest(_:)","abstract":"Combine with an additional async sequence to produce a AsyncCombineLatest2Sequence
.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE8debounce3forAA21DebounceAsyncSequenceVyxGSd_tF":{"name":"debounce(for:)","abstract":"Emits elements only after a specified time interval elapses between emissions.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE5delay3forAA18DelayAsyncSequenceVyxGSd_tF":{"name":"delay(for:)","abstract":"Delays emission of all elements by the provided interval.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE5merge4with_AA19Merge3AsyncSequenceVyxGx_xtF":{"name":"merge(with:_:)","abstract":"An asynchronous sequence that merges three async sequences.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE5merge4withAA18MergeAsyncSequenceVyxGx_tF":{"name":"merge(with:)","abstract":"An asynchronous sequence that merges two async sequence.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE12replaceError4withAA07ReplaceC13AsyncSequenceVyxG7ElementQz_tF":{"name":"replaceError(with:)","abstract":"Replaces any errors in the async sequence with the provided element.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE6sharedAA19SharedAsyncSequenceVyxGyF":{"name":"shared()","abstract":"Creates a shareable async sequence that can be used across multiple tasks.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE8throttle3for6latestAA21ThrottleAsyncSequenceVyxGSd_SbtF":{"name":"throttle(for:latest:)","abstract":"Emits either the most-recent or first element emitted by the base async","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE3zipyAA17Zip3AsyncSequenceVyxqd__qd_0_Gqd___qd_0_tSciRd__SciRd_0_r0_lF":{"name":"zip(_:_:)","abstract":"
Create an asynchronous sequence that applys a zip function to the three async sequences.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE3zipyAA16ZipAsyncSequenceVyxqd__Gqd__SciRd__lF":{"name":"zip(_:)","abstract":"Create an asynchronous sequence that applys a zip function to the two async sequences.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneSQ7ElementRpzrlE16removeDuplicatesAA06RemoveD13AsyncSequenceVyxGyF":{"name":"removeDuplicates()","abstract":"Emits only elements that don’t match the previous element.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneSQ7ElementRpzrlE16removeDuplicates2byAA06RemoveD13AsyncSequenceVyxGSbAC_ACtc_tF":{"name":"removeDuplicates(by:)","abstract":"Omits any element that the predicate determines is equal to the previous element.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html":{"name":"AsyncSequence"},"Extensions/AsyncStream.html":{"name":"AsyncStream"},"Extensions/AsyncThrowingStream.html":{"name":"AsyncThrowingStream"},"Extensions/Task.html":{"name":"Task"},"Enums/AsyncSequenceCompletion.html#/s:10Asynchrone23AsyncSequenceCompletionO8finishedyACyxGAEms5ErrorRzlF":{"name":"finished","abstract":"The async sequence finished normally.
","parent_name":"AsyncSequenceCompletion"},"Enums/AsyncSequenceCompletion.html#/s:10Asynchrone23AsyncSequenceCompletionO7failureyACyxGxcAEms5ErrorRzlF":{"name":"failure(_:)","abstract":"The async sequence stopped emitting elements due to","parent_name":"AsyncSequenceCompletion"},"Enums/AsyncSequenceCompletion.html":{"name":"AsyncSequenceCompletion","abstract":"
Describes how an async sequence has completed.
"},"Classes/TimerAsyncSequence.html#/s:10Asynchrone18TimerAsyncSequenceC7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"TimerAsyncSequence"},"Classes/TimerAsyncSequence.html#/s:10Asynchrone18TimerAsyncSequenceC8intervalACSd_tcfc":{"name":"init(interval:)","abstract":"Creates an async sequence that emits the current date on a given interval.
","parent_name":"TimerAsyncSequence"},"Classes/TimerAsyncSequence.html#/s:10Asynchrone18TimerAsyncSequenceC6cancelyyF":{"name":"cancel()","abstract":"Cancel the sequence from emitting anymore elements.
","parent_name":"TimerAsyncSequence"},"Classes/TimerAsyncSequence.html#/s:10Asynchrone18TimerAsyncSequenceC04makeC8IteratorScS0F0Vy10Foundation4DateV_GyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"TimerAsyncSequence"},"Classes/TimerAsyncSequence.html":{"name":"TimerAsyncSequence","abstract":"An async sequence that emits the current date on a given interval.
"},"Actors/CurrentElementAsyncSequence.html#/s:10Asynchrone27CurrentElementAsyncSequenceC7elementxvp":{"name":"element","abstract":"The element wrapped by this async sequence, emitted as a new element whenever it changes.
","parent_name":"CurrentElementAsyncSequence"},"Actors/CurrentElementAsyncSequence.html#/s:10Asynchrone27CurrentElementAsyncSequenceCyACyxGxcfc":{"name":"init(_:)","abstract":"Creates an async sequence that emits elements only after a specified time interval elapses between emissions.
","parent_name":"CurrentElementAsyncSequence"},"Actors/CurrentElementAsyncSequence.html#/s:10Asynchrone27CurrentElementAsyncSequenceC04makeD8IteratorScS0G0Vyx_GyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"CurrentElementAsyncSequence"},"Actors/CurrentElementAsyncSequence.html#/s:10Asynchrone27CurrentElementAsyncSequenceC5yieldyyxF":{"name":"yield(_:)","abstract":"Yield a new element to the sequence.
","parent_name":"CurrentElementAsyncSequence"},"Actors/CurrentElementAsyncSequence.html#/s:10Asynchrone27CurrentElementAsyncSequenceC6finishyyF":{"name":"finish()","abstract":"Mark the sequence as finished by having it’s iterator emit nil.
","parent_name":"CurrentElementAsyncSequence"},"Actors/CurrentElementAsyncSequence.html#/s:10Asynchrone27CurrentElementAsyncSequenceC6finish4withyx_tF":{"name":"finish(with:)","abstract":"Emit one last element beford marking the sequence as finished by having it’s iterator emit nil.
","parent_name":"CurrentElementAsyncSequence"},"Actors/CurrentElementAsyncSequence.html":{"name":"CurrentElementAsyncSequence","abstract":"A async sequence that wraps a single value and emits a new element whenever the element changes.
"},"Actors.html":{"name":"Actors","abstract":"The following actors are available globally.
"},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally.
"},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally.
"},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally.
"},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally.
"}}
\ No newline at end of file
+{"Structs/ZipAsyncSequence.html#/s:10Asynchrone16ZipAsyncSequenceV7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"ZipAsyncSequence"},"Structs/ZipAsyncSequence.html#/s:10Asynchrone16ZipAsyncSequenceV04makeC8IteratorACyxq_GyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"ZipAsyncSequence"},"Structs/ZipAsyncSequence.html#/s:10Asynchrone16ZipAsyncSequenceV4next7ElementQz_AEQy_tSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"ZipAsyncSequence"},"Structs/Zip3AsyncSequence.html#/s:10Asynchrone17Zip3AsyncSequenceV7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"Zip3AsyncSequence"},"Structs/Zip3AsyncSequence.html#/s:10Asynchrone17Zip3AsyncSequenceV04makeC8IteratorACyxq_q0_GyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"Zip3AsyncSequence"},"Structs/Zip3AsyncSequence.html#/s:10Asynchrone17Zip3AsyncSequenceV4next7ElementQz_AEQy_AEQy0_tSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"Zip3AsyncSequence"},"Structs/ThrowingPassthroughAsyncSequence.html#/s:10Asynchrone32ThrowingPassthroughAsyncSequenceVACyxGycfc":{"name":"init()","abstract":"Creates an async sequence that broadcasts elements.
","parent_name":"ThrowingPassthroughAsyncSequence"},"Structs/ThrowingPassthroughAsyncSequence.html#/s:10Asynchrone32ThrowingPassthroughAsyncSequenceV04makeD8IteratorScs0G0Vyxs5Error_p_GyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"ThrowingPassthroughAsyncSequence"},"Structs/ThrowingPassthroughAsyncSequence.html#/s:10Asynchrone32ThrowingPassthroughAsyncSequenceV5yieldyyxF":{"name":"yield(_:)","abstract":"Yield a new element to the sequence.
","parent_name":"ThrowingPassthroughAsyncSequence"},"Structs/ThrowingPassthroughAsyncSequence.html#/s:10Asynchrone32ThrowingPassthroughAsyncSequenceV6finishyyF":{"name":"finish()","abstract":"Mark the sequence as finished by having it’s iterator emit nil.
","parent_name":"ThrowingPassthroughAsyncSequence"},"Structs/ThrowingPassthroughAsyncSequence.html#/s:10Asynchrone32ThrowingPassthroughAsyncSequenceV6finish8throwingys5Error_p_tF":{"name":"finish(throwing:)","abstract":"Mark the sequence as finished by having it’s iterator throw the provided error.
","parent_name":"ThrowingPassthroughAsyncSequence"},"Structs/ThrowingPassthroughAsyncSequence.html#/s:10Asynchrone32ThrowingPassthroughAsyncSequenceV6finish4withyx_tF":{"name":"finish(with:)","abstract":"Emit one last element beford marking the sequence as finished by having it’s iterator emit nil.
","parent_name":"ThrowingPassthroughAsyncSequence"},"Structs/ThrottleAsyncSequence.html#/s:10Asynchrone21ThrottleAsyncSequenceV7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"ThrottleAsyncSequence"},"Structs/ThrottleAsyncSequence.html#/s:10Asynchrone21ThrottleAsyncSequenceV_8interval6latestACyxGx_SdSbtcfc":{"name":"init(_:interval:latest:)","abstract":"Creates an async sequence that emits either the most-recent or first element","parent_name":"ThrottleAsyncSequence"},"Structs/ThrottleAsyncSequence.html#/s:10Asynchrone21ThrottleAsyncSequenceV04makeC8IteratorScs0F0Vy7ElementQzs5Error_p_GyF":{"name":"makeAsyncIterator()","abstract":"
Creates an async iterator that emits elements of this async sequence.
","parent_name":"ThrottleAsyncSequence"},"Structs/ThrottleAsyncSequence.html#/s:10Asynchrone21ThrottleAsyncSequenceV4next7ElementQzSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"ThrottleAsyncSequence"},"Structs/SharedAsyncSequence.html#/s:10Asynchrone19SharedAsyncSequenceV0C8Iteratora":{"name":"AsyncIterator","abstract":"The type of async iterator.
","parent_name":"SharedAsyncSequence"},"Structs/SharedAsyncSequence.html#/s:10Asynchrone19SharedAsyncSequenceV7Elementa":{"name":"Element","abstract":"The type of elements streamed.
","parent_name":"SharedAsyncSequence"},"Structs/SharedAsyncSequence.html#/s:10Asynchrone19SharedAsyncSequenceVyACyxGxcfc":{"name":"init(_:)","abstract":"Creates a shareable async sequence that can be used across multiple tasks.
","parent_name":"SharedAsyncSequence"},"Structs/SharedAsyncSequence.html#/s:10Asynchrone19SharedAsyncSequenceV04makeC8IteratorScs0F0Vy7ElementQzs5Error_p_GyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"SharedAsyncSequence"},"Structs/SharedAsyncSequence.html#/s:10Asynchrone19SharedAsyncSequenceV5yieldyyqd__YaAA014CurrentElementcD0Cyqd__GRszlF":{"name":"yield(_:)","abstract":"Yield a new element to the sequence.
","parent_name":"SharedAsyncSequence"},"Structs/SharedAsyncSequence.html#/s:10Asynchrone19SharedAsyncSequenceV6finishyyYaAA014CurrentElementcD0Cyqd__GRszlF":{"name":"finish()","abstract":"Mark the sequence as finished by having it’s iterator emit nil.
","parent_name":"SharedAsyncSequence"},"Structs/SharedAsyncSequence.html#/s:10Asynchrone19SharedAsyncSequenceV6finish4withyqd___tYaAA014CurrentElementcD0Cyqd__GRszlF":{"name":"finish(with:)","abstract":"Emit one last element beford marking the sequence as finished by having it’s iterator emit nil.
","parent_name":"SharedAsyncSequence"},"Structs/SharedAsyncSequence.html#/s:10Asynchrone19SharedAsyncSequenceV7elementqd__yYaAA014CurrentElementcD0Cyqd__GRszlF":{"name":"element()","abstract":"The element wrapped by this async sequence, emitted as a new element whenever it changes.
","parent_name":"SharedAsyncSequence"},"Structs/SharedAsyncSequence.html#/s:10Asynchrone19SharedAsyncSequenceV5yieldyyqd__AA011PassthroughcD0Vyqd__GRszlF":{"name":"yield(_:)","abstract":"Yield a new element to the sequence.
","parent_name":"SharedAsyncSequence"},"Structs/SharedAsyncSequence.html#/s:10Asynchrone19SharedAsyncSequenceV6finishyyAA011PassthroughcD0Vyqd__GRszlF":{"name":"finish()","abstract":"Mark the sequence as finished by having it’s iterator emit nil.
","parent_name":"SharedAsyncSequence"},"Structs/SharedAsyncSequence.html#/s:10Asynchrone19SharedAsyncSequenceV6finish4withyqd___tAA011PassthroughcD0Vyqd__GRszlF":{"name":"finish(with:)","abstract":"Emit one last element beford marking the sequence as finished by having it’s iterator emit nil.
","parent_name":"SharedAsyncSequence"},"Structs/SequenceAsyncSequenceIterator.html#/s:10Asynchrone013SequenceAsyncB8IteratorVyACyxG0D0Qzcfc":{"name":"init(_:)","parent_name":"SequenceAsyncSequenceIterator"},"Structs/SequenceAsyncSequenceIterator.html#/s:10Asynchrone013SequenceAsyncB8IteratorV4next7ElementQzSgyYaF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"SequenceAsyncSequenceIterator"},"Structs/SequenceAsyncSequence.html#/s:10Asynchrone013SequenceAsyncB0V7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"SequenceAsyncSequence"},"Structs/SequenceAsyncSequence.html#/s:10Asynchrone013SequenceAsyncB0VyACyxGxcfc":{"name":"init(_:)","abstract":"Creates an async sequence that combines the two async sequence.
","parent_name":"SequenceAsyncSequence"},"Structs/SequenceAsyncSequence.html#/s:10Asynchrone013SequenceAsyncB0V04makeC8IteratorAA0bcbE0VyxGyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"SequenceAsyncSequence"},"Structs/ReplaceErrorAsyncSequence.html#/s:10Asynchrone25ReplaceErrorAsyncSequenceV7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"ReplaceErrorAsyncSequence"},"Structs/ReplaceErrorAsyncSequence.html#/s:10Asynchrone25ReplaceErrorAsyncSequenceV4base6outputACyxGx_7ElementQztcfc":{"name":"init(base:output:)","abstract":"Creates an async sequence that replaces any errors in the sequence with a provided element.
","parent_name":"ReplaceErrorAsyncSequence"},"Structs/ReplaceErrorAsyncSequence.html#/s:10Asynchrone25ReplaceErrorAsyncSequenceV04makeD8IteratorACyxGyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"ReplaceErrorAsyncSequence"},"Structs/ReplaceErrorAsyncSequence.html#/s:10Asynchrone25ReplaceErrorAsyncSequenceV4next7ElementQzSgyYaF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"ReplaceErrorAsyncSequence"},"Structs/RemoveDuplicatesAsyncSequence.html#/s:10Asynchrone29RemoveDuplicatesAsyncSequenceV7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"RemoveDuplicatesAsyncSequence"},"Structs/RemoveDuplicatesAsyncSequence.html#/s:10Asynchrone29RemoveDuplicatesAsyncSequenceV9Predicatea":{"name":"Predicate","parent_name":"RemoveDuplicatesAsyncSequence"},"Structs/RemoveDuplicatesAsyncSequence.html#/s:10Asynchrone29RemoveDuplicatesAsyncSequenceV4base9predicateACyxGx_Sb7ElementQz_AHtctcfc":{"name":"init(base:predicate:)","abstract":"Creates an async that only emits elements that don’t match the previous element,","parent_name":"RemoveDuplicatesAsyncSequence"},"Structs/RemoveDuplicatesAsyncSequence.html#/s:10Asynchrone29RemoveDuplicatesAsyncSequenceV04makeD8IteratorACyxGyF":{"name":"makeAsyncIterator()","abstract":"
Creates an async iterator that emits elements of this async sequence.
","parent_name":"RemoveDuplicatesAsyncSequence"},"Structs/RemoveDuplicatesAsyncSequence.html#/s:10Asynchrone29RemoveDuplicatesAsyncSequenceV4next7ElementQzSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"RemoveDuplicatesAsyncSequence"},"Structs/PassthroughAsyncSequence.html#/s:10Asynchrone24PassthroughAsyncSequenceVACyxGycfc":{"name":"init()","abstract":"Creates an async sequence that broadcasts elements.
","parent_name":"PassthroughAsyncSequence"},"Structs/PassthroughAsyncSequence.html#/s:10Asynchrone24PassthroughAsyncSequenceV04makeC8IteratorScS0F0Vyx_GyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"PassthroughAsyncSequence"},"Structs/PassthroughAsyncSequence.html#/s:10Asynchrone24PassthroughAsyncSequenceV5yieldyyxF":{"name":"yield(_:)","abstract":"Yield a new element to the sequence.
","parent_name":"PassthroughAsyncSequence"},"Structs/PassthroughAsyncSequence.html#/s:10Asynchrone24PassthroughAsyncSequenceV6finishyyF":{"name":"finish()","abstract":"Mark the sequence as finished by having it’s iterator emit nil.
","parent_name":"PassthroughAsyncSequence"},"Structs/PassthroughAsyncSequence.html#/s:10Asynchrone24PassthroughAsyncSequenceV6finish4withyx_tF":{"name":"finish(with:)","abstract":"Emit one last element beford marking the sequence as finished by having it’s iterator emit nil.
","parent_name":"PassthroughAsyncSequence"},"Structs/MergeAsyncSequence.html#/s:10Asynchrone18MergeAsyncSequenceV7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"MergeAsyncSequence"},"Structs/MergeAsyncSequence.html#/s:10Asynchrone18MergeAsyncSequenceVyACyxGx_xtcfc":{"name":"init(_:_:)","abstract":"Creates an async sequence that merges the provided async sequence’s.
","parent_name":"MergeAsyncSequence"},"Structs/MergeAsyncSequence.html#/s:10Asynchrone18MergeAsyncSequenceV04makeC8IteratorScS0F0Vy7ElementQz_GyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"MergeAsyncSequence"},"Structs/MergeAsyncSequence.html#/s:10Asynchrone18MergeAsyncSequenceV4next7ElementQzSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"MergeAsyncSequence"},"Structs/Merge3AsyncSequence.html#/s:10Asynchrone19Merge3AsyncSequenceV7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"Merge3AsyncSequence"},"Structs/Merge3AsyncSequence.html#/s:10Asynchrone19Merge3AsyncSequenceVyACyxGx_xxtcfc":{"name":"init(_:_:_:)","abstract":"Creates an async sequence that merges the provided async sequence’s.
","parent_name":"Merge3AsyncSequence"},"Structs/Merge3AsyncSequence.html#/s:10Asynchrone19Merge3AsyncSequenceV04makeC8IteratorScs0F0Vy7ElementQzs5Error_p_GyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"Merge3AsyncSequence"},"Structs/Merge3AsyncSequence.html#/s:10Asynchrone19Merge3AsyncSequenceV4next7ElementQzSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"Merge3AsyncSequence"},"Structs/Just.html#/s:10Asynchrone4JustVyACyxGxcfc":{"name":"init(_:)","abstract":"Creates an async sequence that emits an element once.
","parent_name":"Just"},"Structs/Just.html#/s:10Asynchrone4JustV17makeAsyncIteratorACyxGyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"Just"},"Structs/Just.html#/s:10Asynchrone4JustV4nextxSgyYaF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"Just"},"Structs/Fail.html#/s:10Asynchrone4FailV5errorACyxq_Gq__tcfc":{"name":"init(error:)","abstract":"Creates an async sequence that throws an error.
","parent_name":"Fail"},"Structs/Fail.html#/s:10Asynchrone4FailV17makeAsyncIteratorACyxq_GyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"Fail"},"Structs/Fail.html#/s:10Asynchrone4FailV4nextxSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"Fail"},"Structs/Empty.html#/s:10Asynchrone5EmptyV19completeImmediatelyACyxGSb_tcfc":{"name":"init(completeImmediately:)","abstract":"Creates an empty async sequence.
","parent_name":"Empty"},"Structs/Empty.html#/s:10Asynchrone5EmptyV17makeAsyncIteratorACyxGyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"Empty"},"Structs/Empty.html#/s:10Asynchrone5EmptyV4nextxSgyYaF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"Empty"},"Structs/DelayAsyncSequence.html#/s:10Asynchrone18DelayAsyncSequenceV7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"DelayAsyncSequence"},"Structs/DelayAsyncSequence.html#/s:10Asynchrone18DelayAsyncSequenceV_8intervalACyxGx_Sdtcfc":{"name":"init(_:interval:)","abstract":"Creates an async sequence that delays emission of elements and completion.
","parent_name":"DelayAsyncSequence"},"Structs/DelayAsyncSequence.html#/s:10Asynchrone18DelayAsyncSequenceV04makeC8IteratorACyxGyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"DelayAsyncSequence"},"Structs/DelayAsyncSequence.html#/s:10Asynchrone18DelayAsyncSequenceV4next7ElementQzSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"DelayAsyncSequence"},"Structs/DebounceAsyncSequence.html#/s:10Asynchrone21DebounceAsyncSequenceV7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"DebounceAsyncSequence"},"Structs/DebounceAsyncSequence.html#/s:10Asynchrone21DebounceAsyncSequenceV_7dueTimeACyxGx_Sdtcfc":{"name":"init(_:dueTime:)","abstract":"Creates an async sequence that emits elements only after a specified time interval elapses between emissions.
","parent_name":"DebounceAsyncSequence"},"Structs/DebounceAsyncSequence.html#/s:10Asynchrone21DebounceAsyncSequenceV04makeC8IteratorScs0F0Vy7ElementQzs5Error_p_GyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"DebounceAsyncSequence"},"Structs/DebounceAsyncSequence.html#/s:10Asynchrone21DebounceAsyncSequenceV4next7ElementQzSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"DebounceAsyncSequence"},"Structs/CombineLatestAsyncSequence.html#/s:10Asynchrone26CombineLatestAsyncSequenceV7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"CombineLatestAsyncSequence"},"Structs/CombineLatestAsyncSequence.html#/s:10Asynchrone26CombineLatestAsyncSequenceVyACyxq_Gx_q_tcfc":{"name":"init(_:_:)","abstract":"Creates an async sequence that only emits elements that don’t match the previous element,","parent_name":"CombineLatestAsyncSequence"},"Structs/CombineLatestAsyncSequence.html#/s:10Asynchrone26CombineLatestAsyncSequenceV04makeD8IteratorACyxq_GyF":{"name":"makeAsyncIterator()","abstract":"
Creates an async iterator that emits elements of this async sequence.
","parent_name":"CombineLatestAsyncSequence"},"Structs/CombineLatestAsyncSequence.html#/s:10Asynchrone26CombineLatestAsyncSequenceV4next7ElementQz_AEQy_tSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"CombineLatestAsyncSequence"},"Structs/CombineLatest3AsyncSequence.html#/s:10Asynchrone27CombineLatest3AsyncSequenceV7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"CombineLatest3AsyncSequence"},"Structs/CombineLatest3AsyncSequence.html#/s:10Asynchrone27CombineLatest3AsyncSequenceVyACyxq_q0_Gx_q_q0_tcfc":{"name":"init(_:_:_:)","abstract":"Creates an async sequence that only emits elements that don’t match the previous element,","parent_name":"CombineLatest3AsyncSequence"},"Structs/CombineLatest3AsyncSequence.html#/s:10Asynchrone27CombineLatest3AsyncSequenceV04makeD8IteratorACyxq_q0_GyF":{"name":"makeAsyncIterator()","abstract":"
Creates an async iterator that emits elements of this async sequence.
","parent_name":"CombineLatest3AsyncSequence"},"Structs/CombineLatest3AsyncSequence.html#/s:10Asynchrone27CombineLatest3AsyncSequenceV4next7ElementQz_AEQy_AEQy0_tSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"CombineLatest3AsyncSequence"},"Structs/ChainAsyncSequence.html#/s:10Asynchrone18ChainAsyncSequenceV7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"ChainAsyncSequence"},"Structs/ChainAsyncSequence.html#/s:10Asynchrone18ChainAsyncSequenceVyACyxq_Gx_q_tcfc":{"name":"init(_:_:)","abstract":"Creates an async sequence that combines the two async sequence.
","parent_name":"ChainAsyncSequence"},"Structs/ChainAsyncSequence.html#/s:10Asynchrone18ChainAsyncSequenceV04makeC8IteratorACyxq_GyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"ChainAsyncSequence"},"Structs/ChainAsyncSequence.html#/s:10Asynchrone18ChainAsyncSequenceV4next7ElementQzSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"ChainAsyncSequence"},"Structs/AnyThrowingAsyncSequenceable.html#/s:10Asynchrone28AnyThrowingAsyncSequenceableVyACyxGqd__c7ElementQyd__RszSciRd__lufc":{"name":"init(_:)","abstract":"Creates a type erasing async sequence.
","parent_name":"AnyThrowingAsyncSequenceable"},"Structs/AnyThrowingAsyncSequenceable.html#/s:10Asynchrone28AnyThrowingAsyncSequenceableVyACyxGSgqd__Sgc7ElementQyd__RszSciRd__lufc":{"name":"init(_:)","abstract":"Creates an optional type erasing async sequence.
","parent_name":"AnyThrowingAsyncSequenceable"},"Structs/AnyThrowingAsyncSequenceable.html#/s:10Asynchrone28AnyThrowingAsyncSequenceableV04makeD8IteratorACyxGyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"AnyThrowingAsyncSequenceable"},"Structs/AnyThrowingAsyncSequenceable.html#/s:10Asynchrone28AnyThrowingAsyncSequenceableV4nextxSgyYaKF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"AnyThrowingAsyncSequenceable"},"Structs/AnyAsyncSequenceable.html#/s:10Asynchrone20AnyAsyncSequenceableVyACyxGqd__c7ElementQyd__RszSciRd__lufc":{"name":"init(_:)","abstract":"Creates a type erasing async sequence.
","parent_name":"AnyAsyncSequenceable"},"Structs/AnyAsyncSequenceable.html#/s:10Asynchrone20AnyAsyncSequenceableVyACyxGSgqd__Sgc7ElementQyd__RszSciRd__lufc":{"name":"init(_:)","abstract":"Creates an optional type erasing async sequence.
","parent_name":"AnyAsyncSequenceable"},"Structs/AnyAsyncSequenceable.html#/s:10Asynchrone20AnyAsyncSequenceableV04makeC8IteratorACyxGyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"AnyAsyncSequenceable"},"Structs/AnyAsyncSequenceable.html#/s:10Asynchrone20AnyAsyncSequenceableV4nextxSgyYaF":{"name":"next()","abstract":"Produces the next element in the sequence.
","parent_name":"AnyAsyncSequenceable"},"Structs/AnyAsyncSequenceable.html":{"name":"AnyAsyncSequenceable","abstract":"An async sequence that performs type erasure by wrapping another async sequence.
"},"Structs/AnyThrowingAsyncSequenceable.html":{"name":"AnyThrowingAsyncSequenceable","abstract":"A throwing async sequence that performs type erasure by wrapping another throwing async sequence.
"},"Structs/ChainAsyncSequence.html":{"name":"ChainAsyncSequence","abstract":"An asynchronous sequence that chains two async sequences.
"},"Structs/CombineLatest3AsyncSequence.html":{"name":"CombineLatest3AsyncSequence","abstract":"An asynchronous sequence that combines three async sequences.
"},"Structs/CombineLatestAsyncSequence.html":{"name":"CombineLatestAsyncSequence","abstract":"An asynchronous sequence that combines two async sequences.
"},"Structs/DebounceAsyncSequence.html":{"name":"DebounceAsyncSequence","abstract":"A async sequence that emits elements only after a specified time interval elapses between emissions.
"},"Structs/DelayAsyncSequence.html":{"name":"DelayAsyncSequence","abstract":"Delays emission of all elements by the provided interval.
"},"Structs/Empty.html":{"name":"Empty","abstract":"An asynchronous sequence that only emits the provided value once.
"},"Structs/Fail.html":{"name":"Fail","abstract":"An asynchronous sequence that immediately throws an error when iterated.
"},"Structs/Just.html":{"name":"Just","abstract":"An asynchronous sequence that only emits the provided value once.
"},"Structs/Merge3AsyncSequence.html":{"name":"Merge3AsyncSequence","abstract":"An asynchronous sequence that merges three async sequences.
"},"Structs/MergeAsyncSequence.html":{"name":"MergeAsyncSequence","abstract":"An asynchronous sequence that merges two async sequences.
"},"Structs/PassthroughAsyncSequence.html":{"name":"PassthroughAsyncSequence","abstract":"A async sequence that broadcasts elements.
"},"Structs/RemoveDuplicatesAsyncSequence.html":{"name":"RemoveDuplicatesAsyncSequence","abstract":"An asynchronous sequence that streams only elements from the base asynchronous sequence"},"Structs/ReplaceErrorAsyncSequence.html":{"name":"ReplaceErrorAsyncSequence","abstract":"
An async sequence that replaces any errors in the sequence with a provided element.
"},"Structs/SequenceAsyncSequence.html":{"name":"SequenceAsyncSequence","abstract":"An async version of Sequence
. Generally used to turn any Sequence
into"},"Structs/SequenceAsyncSequenceIterator.html":{"name":"SequenceAsyncSequenceIterator"},"Structs/SharedAsyncSequence.html":{"name":"SharedAsyncSequence","abstract":"
An async sequence that can be shared between multiple tasks.
"},"Structs/ThrottleAsyncSequence.html":{"name":"ThrottleAsyncSequence","abstract":"An async sequence that emits either the most-recent or first element emitted"},"Structs/ThrowingPassthroughAsyncSequence.html":{"name":"ThrowingPassthroughAsyncSequence","abstract":"
A async sequence that broadcasts elements.
"},"Structs/Zip3AsyncSequence.html":{"name":"Zip3AsyncSequence","abstract":"An asynchronous sequence that applys a zip function to the three async sequences.
"},"Structs/ZipAsyncSequence.html":{"name":"ZipAsyncSequence","abstract":"An asynchronous sequence that applys a zip function to the two async sequences.
"},"Extensions/Sequence.html#/s:ST10AsynchroneE5asyncAA013SequenceAsyncC0VyxGvp":{"name":"async","abstract":"An async sequence that contains all the elements of","parent_name":"Sequence"},"Extensions/Task.html#/s:ScT10Asynchrones5NeverORszACRs_rlE5sleep7secondsySd_tYaKFZ":{"name":"sleep(seconds:)","abstract":"
Suspends the current task for at least the given duration in seconds.
","parent_name":"Task"},"Extensions/AsyncThrowingStream/Continuation.html#/s:Scs12ContinuationV10AsynchroneE6finish4withyx_tF":{"name":"finish(with:)","abstract":"Yield the provided value and then finish the stream.
","parent_name":"Continuation"},"Extensions/AsyncThrowingStream.html#/s:Scs10AsynchroneE_15bufferingPolicy_Scsyxs5Error_pGxm_Scs12ContinuationV09BufferingC0OyxsAC_p__GyAFyxsAC_p_GYactcsAC_pRs_rlufc":{"name":"init(_:bufferingPolicy:_:)","abstract":"Construct a AsyncThrowingStream buffering given an Element type.
","parent_name":"AsyncThrowingStream"},"Extensions/AsyncThrowingStream/Continuation.html":{"name":"Continuation","parent_name":"AsyncThrowingStream"},"Extensions/AsyncStream/Continuation.html#/s:ScS12ContinuationV10AsynchroneE6finish4withyx_tF":{"name":"finish(with:)","abstract":"Yield the provided value and then finish the stream.
","parent_name":"Continuation"},"Extensions/AsyncStream.html#/s:ScS10AsynchroneE_15bufferingPolicy_ScSyxGxm_ScS12ContinuationV09BufferingC0Oyx__GyAEyx_GYactcfc":{"name":"init(_:bufferingPolicy:_:)","abstract":"Construct a AsyncStream buffering given an Element type.
","parent_name":"AsyncStream"},"Extensions/AsyncStream/Continuation.html":{"name":"Continuation","parent_name":"AsyncStream"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE6assign2to2onScTyyts5Error_pGs24ReferenceWritableKeyPathCyqd__7ElementQzG_qd__tKlF":{"name":"assign(to:on:)","abstract":"Assigns each element from an async sequence to a property on an object.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE5first7ElementQzSgyYaKF":{"name":"first()","abstract":"The first element of the sequence, if there is one.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE7collectySay7ElementQzGSiSgYaKF":{"name":"collect(_:)","abstract":"Collect elements from a sequence.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE4sinkyScTyyts5Error_pGy7ElementQzYacF":{"name":"sink(_:)","abstract":"Consume the async sequence and pass the element’s to a closure.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE4sink12receiveValue0C10CompletionScTyyts5NeverOGy7ElementQzYac_yAA013AsyncSequenceE0Oys5Error_pGYactF":{"name":"sink(receiveValue:receiveCompletion:)","abstract":"Consume the async sequence and pass the element’s and it’s completion","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE27eraseToAnyAsyncSequenceableAA0deF0Vy7ElementQzGyF":{"name":"eraseToAnyAsyncSequenceable()","abstract":"
Creates a type erasing async sequence.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE35eraseToAnyThrowingAsyncSequenceableAA0defG0Vy7ElementQzGyF":{"name":"eraseToAnyThrowingAsyncSequenceable()","abstract":"Creates a throwing type erasing async sequence.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE5chain4withAA18ChainAsyncSequenceVyxqd__Gqd___tSciRd__7ElementQyd__AGRtzlF":{"name":"chain(with:)","abstract":"An asynchronous sequence that chains two async sequences.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE13combineLatestyAA27CombineLatest3AsyncSequenceVyxqd__qd_0_Gqd___qd_0_tSciRd__SciRd_0_r0_lF":{"name":"combineLatest(_:_:)","abstract":"Combine three async sequences.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE13combineLatestyAA07CombineC13AsyncSequenceVyxqd__Gqd__SciRd__lF":{"name":"combineLatest(_:)","abstract":"Combine with an additional async sequence to produce a AsyncCombineLatest2Sequence
.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE8debounce3forAA21DebounceAsyncSequenceVyxGSd_tF":{"name":"debounce(for:)","abstract":"Emits elements only after a specified time interval elapses between emissions.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE5delay3forAA18DelayAsyncSequenceVyxGSd_tF":{"name":"delay(for:)","abstract":"Delays emission of all elements by the provided interval.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE5merge4with_AA19Merge3AsyncSequenceVyxGx_xtF":{"name":"merge(with:_:)","abstract":"An asynchronous sequence that merges three async sequences.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE5merge4withAA18MergeAsyncSequenceVyxGx_tF":{"name":"merge(with:)","abstract":"An asynchronous sequence that merges two async sequence.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE12replaceError4withAA07ReplaceC13AsyncSequenceVyxG7ElementQz_tF":{"name":"replaceError(with:)","abstract":"Replaces any errors in the async sequence with the provided element.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE6sharedAA19SharedAsyncSequenceVyxGyF":{"name":"shared()","abstract":"Creates a shareable async sequence that can be used across multiple tasks.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE8throttle3for6latestAA21ThrottleAsyncSequenceVyxGSd_SbtF":{"name":"throttle(for:latest:)","abstract":"Emits either the most-recent or first element emitted by the base async","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE3zipyAA17Zip3AsyncSequenceVyxqd__qd_0_Gqd___qd_0_tSciRd__SciRd_0_r0_lF":{"name":"zip(_:_:)","abstract":"
Create an asynchronous sequence that applys a zip function to the three async sequences.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneE3zipyAA16ZipAsyncSequenceVyxqd__Gqd__SciRd__lF":{"name":"zip(_:)","abstract":"Create an asynchronous sequence that applys a zip function to the two async sequences.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneSQ7ElementRpzrlE16removeDuplicatesAA06RemoveD13AsyncSequenceVyxGyF":{"name":"removeDuplicates()","abstract":"Emits only elements that don’t match the previous element.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html#/s:Sci10AsynchroneSQ7ElementRpzrlE16removeDuplicates2byAA06RemoveD13AsyncSequenceVyxGSbAC_ACtc_tF":{"name":"removeDuplicates(by:)","abstract":"Omits any element that the predicate determines is equal to the previous element.
","parent_name":"AsyncSequence"},"Extensions/AsyncSequence.html":{"name":"AsyncSequence"},"Extensions/AsyncStream.html":{"name":"AsyncStream"},"Extensions/AsyncThrowingStream.html":{"name":"AsyncThrowingStream"},"Extensions/Task.html":{"name":"Task"},"Extensions/Sequence.html":{"name":"Sequence"},"Enums/AsyncSequenceCompletion.html#/s:10Asynchrone23AsyncSequenceCompletionO8finishedyACyxGAEms5ErrorRzlF":{"name":"finished","abstract":"The async sequence finished normally.
","parent_name":"AsyncSequenceCompletion"},"Enums/AsyncSequenceCompletion.html#/s:10Asynchrone23AsyncSequenceCompletionO7failureyACyxGxcAEms5ErrorRzlF":{"name":"failure(_:)","abstract":"The async sequence stopped emitting elements due to","parent_name":"AsyncSequenceCompletion"},"Enums/AsyncSequenceCompletion.html":{"name":"AsyncSequenceCompletion","abstract":"
Describes how an async sequence has completed.
"},"Classes/TimerAsyncSequence.html#/s:10Asynchrone18TimerAsyncSequenceC7Elementa":{"name":"Element","abstract":"The kind of elements streamed.
","parent_name":"TimerAsyncSequence"},"Classes/TimerAsyncSequence.html#/s:10Asynchrone18TimerAsyncSequenceC8intervalACSd_tcfc":{"name":"init(interval:)","abstract":"Creates an async sequence that emits the current date on a given interval.
","parent_name":"TimerAsyncSequence"},"Classes/TimerAsyncSequence.html#/s:10Asynchrone18TimerAsyncSequenceC6cancelyyF":{"name":"cancel()","abstract":"Cancel the sequence from emitting anymore elements.
","parent_name":"TimerAsyncSequence"},"Classes/TimerAsyncSequence.html#/s:10Asynchrone18TimerAsyncSequenceC04makeC8IteratorScS0F0Vy10Foundation4DateV_GyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"TimerAsyncSequence"},"Classes/TimerAsyncSequence.html":{"name":"TimerAsyncSequence","abstract":"An async sequence that emits the current date on a given interval.
"},"Actors/CurrentElementAsyncSequence.html#/s:10Asynchrone27CurrentElementAsyncSequenceC7elementxvp":{"name":"element","abstract":"The element wrapped by this async sequence, emitted as a new element whenever it changes.
","parent_name":"CurrentElementAsyncSequence"},"Actors/CurrentElementAsyncSequence.html#/s:10Asynchrone27CurrentElementAsyncSequenceCyACyxGxcfc":{"name":"init(_:)","abstract":"Creates an async sequence that emits elements only after a specified time interval elapses between emissions.
","parent_name":"CurrentElementAsyncSequence"},"Actors/CurrentElementAsyncSequence.html#/s:10Asynchrone27CurrentElementAsyncSequenceC04makeD8IteratorScS0G0Vyx_GyF":{"name":"makeAsyncIterator()","abstract":"Creates an async iterator that emits elements of this async sequence.
","parent_name":"CurrentElementAsyncSequence"},"Actors/CurrentElementAsyncSequence.html#/s:10Asynchrone27CurrentElementAsyncSequenceC5yieldyyxF":{"name":"yield(_:)","abstract":"Yield a new element to the sequence.
","parent_name":"CurrentElementAsyncSequence"},"Actors/CurrentElementAsyncSequence.html#/s:10Asynchrone27CurrentElementAsyncSequenceC6finishyyF":{"name":"finish()","abstract":"Mark the sequence as finished by having it’s iterator emit nil.
","parent_name":"CurrentElementAsyncSequence"},"Actors/CurrentElementAsyncSequence.html#/s:10Asynchrone27CurrentElementAsyncSequenceC6finish4withyx_tF":{"name":"finish(with:)","abstract":"Emit one last element beford marking the sequence as finished by having it’s iterator emit nil.
","parent_name":"CurrentElementAsyncSequence"},"Actors/CurrentElementAsyncSequence.html":{"name":"CurrentElementAsyncSequence","abstract":"A async sequence that wraps a single value and emits a new element whenever the element changes.
"},"Actors.html":{"name":"Actors","abstract":"The following actors are available globally.
"},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally.
"},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally.
"},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally.
"},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally.
"}}
\ No newline at end of file
diff --git a/.documentation/docsets/.docset/Contents/Resources/Documents/undocumented.json b/.documentation/docsets/.docset/Contents/Resources/Documents/undocumented.json
index cc8f1cb..e3dccb5 100644
--- a/.documentation/docsets/.docset/Contents/Resources/Documents/undocumented.json
+++ b/.documentation/docsets/.docset/Contents/Resources/Documents/undocumented.json
@@ -1,12 +1,6 @@
{
"warnings": [
- {
- "file": "/Users/reddavis/Documents/Projects/Asynchrone/Asynchrone/Source/Sequences/RemoveDuplicatesAsyncSequence.swift",
- "line": 28,
- "symbol": "RemoveDuplicatesAsyncSequence.Predicate",
- "symbol_kind": "source.lang.swift.decl.typealias",
- "warning": "undocumented"
- }
+
],
"source_directory": "/Users/reddavis/Documents/Projects/Asynchrone"
}
\ No newline at end of file
diff --git a/.documentation/docsets/.docset/Contents/Resources/docSet.dsidx b/.documentation/docsets/.docset/Contents/Resources/docSet.dsidx
index 5b93119e033216c714d17cb87db185d14a537580..7143fcb2dcacc97bc224b70ef70a9ca37b6d743f 100644
GIT binary patch
delta 5489
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 (V?@58Pf?
z<908DLaL=2EJ0Q}R&$ww+#WzD}OdNdf7Ynr{s-zt*`z(xW2JD|K)oR;l
zL~6A;M)fsFp5ssd*HW#dl_uG=W=^JQ>c#RX~N5W3o47^O-986ZUoHV~+4n>Kwt2V+xkrD_<*r
zXUaoxAmODhd=5^(^pfI;FptS3?oPq{W1|{$*e~KnCDq%~kpgB950e@3u#?|
zM27?|L+C{x1+mBXDbYbe&E)VRu3S1k5`sos#lXp-zV5w=^U?D{D5*6B7v*(ywAt(q
ztJmxHf>==e;Y10A4#4(Teoh=J<<(Za8zx_GC%*7z+Ma9r*Y;t&_?qV8cFgQ%W(ckj
z@!bIQ9R!yui-p!pyS+8sUqp1S71W?NYvj9o5c3d+fbZfV1V%S#CVG+c3E3mm%QODh+R
z7s{%Uu0{KicCF@3jY)k`9j*!}?+^m~ami6dl}ua?i70OnH9Guzpg2Nrl~TF{!<@
z@Q-g86li}yEbz)HG5i^{kJx|*Vd#0hPE`G=Oi3~^u7iP#(I6)CkRFw+vTPHa`(ZOz
z9}taFgh_t(UUR)!Pq8v_qE4K6f|xCR1|I)yVipI#h#OTT%oyD*iGwd)EjR_HM^h!L
zI?F=CpJ1VBf>Qi-8-_d0$*^u$&cyUQ_`_S_I1^0Mgo@6RYLhd=k}cwIENw%&4(%7(
zX3aaA1DYC*QvHegsyajUnyN`fDUT>q6-N~txqFLJdFX_wlKH4_r
zG19UH!a}(Hej<}hqxk4FIFl7erjj7`gT#tN8j-I;-~LgEAQX+rSD|nFD6~dcK&YL*
ze)gl#V#S~kFVXkSguVx4J|PY^-0Z|gc>iWMHb}JP=CD`c6G$aTVyF^6H@jq=LJU;h
z>c-LV?yY>e5Gq8GjevQO1)FdrIDM6iQHm
z{`et+2MFmnVunrH&$Q#(7|nk5pVeN~Cn~%0ma#ybr5I$Qz+DXFu(ijb`7(Ia>@tT_nW+TG&L@)@`M79NRf;p2njcq4cY
z4HBMf-g6Y6CT%?29QJXOJ|>M9@+fEzwo>RM{QIHx+zJn22|_%caO@&=;6EIG6)*f>
Dp8L;?
delta 4028
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
bCvBu(M&~s*NO=ER7iT7^%98h}ED8Gu3Fzum
diff --git a/.documentation/docsets/.tgz b/.documentation/docsets/.tgz
index aed11463d23772f029c20d4f519d1e3cc5762371..4389342f8b743dd362fe52546dab0e69b26c5af2 100644
GIT binary patch
literal 120855
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