Skip to content

Commit

Permalink
Add UIScheduler.immediate (i.e. ImmediateSchedulerOf<UIScheduler>) (#…
Browse files Browse the repository at this point in the history
…92)

* Change UIScheduler's SchedulerOptions generic from Never to DispatchQueue.SchedulerOptions and add UIScheduler.immediate (i.e. ImmediateSchedulerOf<UIScheduler>).

* Revert the change of UIScheduler.SchedulerOptions generic.
  • Loading branch information
rlziii authored Nov 2, 2023
1 parent ab009de commit 1d1d2bd
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions Sources/CombineSchedulers/ImmediateScheduler.swift
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,14 @@
}
}

extension UIScheduler {
/// An immediate scheduler that can substitute itself for a UI scheduler.
public static var immediate: ImmediateSchedulerOf<UIScheduler> {
// NB: `DispatchTime(uptimeNanoseconds: 0) == .now())`. Use `1` for consistency.
.init(now: .init(.init(uptimeNanoseconds: 1)))
}
}

extension OperationQueue {
/// An immediate scheduler that can substitute itself for an operation queue.
public static var immediate: ImmediateSchedulerOf<OperationQueue> {
Expand Down

0 comments on commit 1d1d2bd

Please sign in to comment.