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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -267,10 +279,50 @@

Declaration

+
+
+ + +
+ +

Sequence +

+
+
+
    +
  • +
    + + + + Sequence + +
    +
    +
    +
    +
    +
    + + See more +
    +
    +

    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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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

+
+
+ + +
+ +

Chain +

+
+
+
    +
  • +
    + + + + chain(with:) + +
    +
    +
    +
    +
    +
    +

    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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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)

+
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+

Sequence

+
+
+ +
public extension Sequence
+ +
+
+ +
+
+
+
    +
  • +
    + + + + async + +
    +
    +
    +
    +
    +
    +

    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
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var async: SequenceAsyncSequence<Self> { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + 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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -218,6 +230,74 @@

Declaration

+
  • +
    + + + + ChainAsyncSequence + +
    +
    +
    +
    +
    +
    +

    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

  • +
  • +
    + + + + SequenceAsyncSequence + +
    +
    +
    +
    +
    +
    +

    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 +

    +
    +
    +
      +
    • + +
      +
      +
      +
      +
      + + See more +
      +
      +

      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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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)

    +
    +
    + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +

    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
    +
    + +
    +
    +
    +
      +
    • +
      + + + + Element + +
      +
      +
      +
      +
      +
      +

      The kind of elements streamed.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public typealias Element = P.Element
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + + +
    + +

    Initialization +

    +
    +
    +
      +
    • +
      + + + + init(_:_:) + +
      +
      +
      +
      +
      +
      +

      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.

      +
      +
      +
      +
      +
      +
    • +
    +
    +
    +
    + + +
    + +

    AsyncSequence +

    +
    +
    +
      +
    • +
      + + + + makeAsyncIterator() + +
      +
      +
      +
      +
      +
      +

      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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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)

    +
    +
    + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +

    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
    +
    + +
    +
    +
    +
      +
    • +
      + + + + Element + +
      +
      +
      +
      +
      +
      +

      The kind of elements streamed.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public typealias Element = P.Element
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + + +
    + +

    Initialization +

    +
    +
    +
      +
    • +
      + + + + init(_:) + +
      +
      +
      +
      +
      +
      +

      Creates an async sequence that combines the two async sequence.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public init(_ sequence: P)
      + +
      +
      +
      +

      Parameters

      + + + + + + + +
      + + p + + +
      +

      A sequence.

      +
      +
      +
      +
      +
      +
    • +
    +
    +
    +
    + + +
    + +

    AsyncSequence +

    +
    +
    +
      +
    • +
      + + + + makeAsyncIterator() + +
      +
      +
      +
      +
      +
      +

      Creates an async iterator that emits elements of this async sequence.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func makeAsyncIterator() -> SequenceAsyncSequenceIterator<P>
      + +
      +
      +
      +

      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)

    +
    +
    + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +

    SequenceAsyncSequenceIterator

    +
    +
    + +
    public struct SequenceAsyncSequenceIterator<P> : AsyncIteratorProtocol where P : Sequence
    + +
    +
    + +
    +
    +
    +
    + + +
    + +

    Initialization +

    +
    +
    +
      +
    • +
      + + + + init(_:) + +
      +
      +
      +
      +
      +
      + +
      +
      +

      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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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

    Swift

    -
    public func yield<Element>(_ element: Element) async where Base == CurrentElementAsyncSequence<Element>
    +
    public func yield<Element>(_ element: Element) async where Base == CurrentElementAsyncSequence<Element>
    @@ -438,7 +450,7 @@

    Parameters

    Declaration

    Swift

    -
    public func finish<Element>() async where Base == CurrentElementAsyncSequence<Element>
    +
    public func finish<Element>() async where Base == CurrentElementAsyncSequence<Element>
    @@ -470,7 +482,7 @@

    Declaration

    Declaration

    Swift

    -
    public func finish<Element>(with element: Element) async where Base == CurrentElementAsyncSequence<Element>
    +
    public func finish<Element>(with element: Element) async where Base == CurrentElementAsyncSequence<Element>
    @@ -519,7 +531,7 @@

    Parameters

    Declaration

    Swift

    -
    public func element<Element>() async -> Element where Base == CurrentElementAsyncSequence<Element>
    +
    public func element<Element>() async -> Element where Base == CurrentElementAsyncSequence<Element>
    @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -267,10 +279,50 @@

    Declaration

    +
    +
    + + +
    + +

    Sequence +

    +
    +
    +
      +
    • +
      + + + + Sequence + +
      +
      +
      +
      +
      +
      + + See more +
      +
      +

      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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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

    +
    +
    + + +
    + +

    Chain +

    +
    +
    +
      +
    • +
      + + + + chain(with:) + +
      +
      +
      +
      +
      +
      +

      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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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)

    +
    +
    + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +

    Sequence

    +
    +
    + +
    public extension Sequence
    + +
    +
    + +
    +
    +
    +
      +
    • +
      + + + + async + +
      +
      +
      +
      +
      +
      +

      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
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      var async: SequenceAsyncSequence<Self> { get }
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + 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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -218,6 +230,74 @@

    Declaration

    +
  • +
    + + + + ChainAsyncSequence + +
    +
    +
    +
    +
    +
    +

    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

  • +
  • +
    + + + + SequenceAsyncSequence + +
    +
    +
    +
    +
    +
    +

    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 +

    +
    +
    +
      +
    • + +
      +
      +
      +
      +
      + + See more +
      +
      +

      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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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)

    +
    +
    + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +

    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
    +
    + +
    +
    +
    +
      +
    • +
      + + + + Element + +
      +
      +
      +
      +
      +
      +

      The kind of elements streamed.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public typealias Element = P.Element
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + + +
    + +

    Initialization +

    +
    +
    +
      +
    • +
      + + + + init(_:_:) + +
      +
      +
      +
      +
      +
      +

      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.

      +
      +
      +
      +
      +
      +
    • +
    +
    +
    +
    + + +
    + +

    AsyncSequence +

    +
    +
    +
      +
    • +
      + + + + makeAsyncIterator() + +
      +
      +
      +
      +
      +
      +

      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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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)

    +
    +
    + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +

    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
    +
    + +
    +
    +
    +
      +
    • +
      + + + + Element + +
      +
      +
      +
      +
      +
      +

      The kind of elements streamed.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public typealias Element = P.Element
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + + +
    + +

    Initialization +

    +
    +
    +
      +
    • +
      + + + + init(_:) + +
      +
      +
      +
      +
      +
      +

      Creates an async sequence that combines the two async sequence.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public init(_ sequence: P)
      + +
      +
      +
      +

      Parameters

      + + + + + + + +
      + + p + + +
      +

      A sequence.

      +
      +
      +
      +
      +
      +
    • +
    +
    +
    +
    + + +
    + +

    AsyncSequence +

    +
    +
    +
      +
    • +
      + + + + makeAsyncIterator() + +
      +
      +
      +
      +
      +
      +

      Creates an async iterator that emits elements of this async sequence.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func makeAsyncIterator() -> SequenceAsyncSequenceIterator<P>
      + +
      +
      +
      +

      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)

    +
    +
    + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +

    SequenceAsyncSequenceIterator

    +
    +
    + +
    public struct SequenceAsyncSequenceIterator<P> : AsyncIteratorProtocol where P : Sequence
    + +
    +
    + +
    +
    +
    +
    + + +
    + +

    Initialization +

    +
    +
    +
      +
    • +
      + + + + init(_:) + +
      +
      +
      +
      +
      +
      + +
      +
      +

      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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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

    Swift

    -
    public func yield<Element>(_ element: Element) async where Base == CurrentElementAsyncSequence<Element>
    +
    public func yield<Element>(_ element: Element) async where Base == CurrentElementAsyncSequence<Element>
    @@ -438,7 +450,7 @@

    Parameters

    Declaration

    Swift

    -
    public func finish<Element>() async where Base == CurrentElementAsyncSequence<Element>
    +
    public func finish<Element>() async where Base == CurrentElementAsyncSequence<Element>
    @@ -470,7 +482,7 @@

    Declaration

    Declaration

    Swift

    -
    public func finish<Element>(with element: Element) async where Base == CurrentElementAsyncSequence<Element>
    +
    public func finish<Element>(with element: Element) async where Base == CurrentElementAsyncSequence<Element>
    @@ -519,7 +531,7 @@

    Parameters

    Declaration

    Swift

    -
    public func element<Element>() async -> Element where Base == CurrentElementAsyncSequence<Element>
    +
    public func element<Element>() async -> Element where Base == CurrentElementAsyncSequence<Element>
    @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -91,6 +94,9 @@ + @@ -127,6 +133,12 @@ + + @@ -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 @@ + @@ -90,6 +93,9 @@ + @@ -126,6 +132,12 @@ + + @@ -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 @@

    ChainAsyncSequenceable

    +
    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
    +

    CombineLatestAsyncSequence

    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 @@

    CurrentElementAsyncSequence

    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 @@ 

    DebounceAsyncSequence

    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 @@

    Just

    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 @@

    SequenceAsyncSequence

    +
    let sequence = [0, 1, 2, 3].async
    +
    +for await value in sequence {
    +    print(value)
    +}
    +
    +// Prints:
    +// 1
    +// 2
    +// 3
    +

    SharedAsyncSequence

    let values = [
         "a",
    @@ -554,24 +615,24 @@ 

    ThrottleAsyncSequence

    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 5b93119..7143fcb 100644 Binary files a/.documentation/docsets/.docset/Contents/Resources/docSet.dsidx and b/.documentation/docsets/.docset/Contents/Resources/docSet.dsidx differ diff --git a/.documentation/docsets/.tgz b/.documentation/docsets/.tgz index aed1146..4389342 100644 Binary files a/.documentation/docsets/.tgz and b/.documentation/docsets/.tgz differ diff --git a/.documentation/index.html b/.documentation/index.html index e5b8f09..ebfe09c 100644 --- a/.documentation/index.html +++ b/.documentation/index.html @@ -76,6 +76,9 @@ + @@ -90,6 +93,9 @@ + @@ -126,6 +132,12 @@ + + @@ -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 @@

    ChainAsyncSequenceable

    +
    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
    +

    CombineLatestAsyncSequence

    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 @@

    CurrentElementAsyncSequence

    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 @@ 

    DebounceAsyncSequence

    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 @@

    Just

    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 @@

    SequenceAsyncSequence

    +
    let sequence = [0, 1, 2, 3].async
    +
    +for await value in sequence {
    +    print(value)
    +}
    +
    +// Prints:
    +// 1
    +// 2
    +// 3
    +

    SharedAsyncSequence

    let values = [
         "a",
    @@ -554,24 +615,24 @@ 

    ThrottleAsyncSequence

    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/search.json b/.documentation/search.json index 207daf4..d182d2f 100644 --- a/.documentation/search.json +++ b/.documentation/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/undocumented.json b/.documentation/undocumented.json index e3dccb5..1e2602a 100644 --- a/.documentation/undocumented.json +++ b/.documentation/undocumented.json @@ -2,5 +2,5 @@ "warnings": [ ], - "source_directory": "/Users/reddavis/Documents/Projects/Asynchrone" + "source_directory": "/Users/reddavis/Developer/Asynchrone" } \ No newline at end of file