You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
session-ios/SessionUtilitiesKit/Utilities/Scheduler+Utilities.swift

37 lines
1000 B
Swift

// Copyright © 2025 Rangeproof Pty Ltd. All rights reserved.
import Foundation
import Combine
public extension Scheduler {
func schedule(
using dependencies: Dependencies,
_ action: @escaping () -> Void
) {
guard !dependencies.forceSynchronous else { return action() }
return self.schedule(action)
}
func schedule(
after date: Self.SchedulerTimeType,
using dependencies: Dependencies,
_ action: @escaping () -> Void
) {
guard !dependencies.forceSynchronous else { return action() }
self.schedule(after: date, action)
}
func schedule(
after date: Self.SchedulerTimeType,
tolerance: Self.SchedulerTimeType.Stride,
using dependencies: Dependencies,
_ action: @escaping () -> Void
) {
guard !dependencies.forceSynchronous else { return action() }
self.schedule(after: date, tolerance: tolerance, action)
}
}