Skip to content

Instantly share code, notes, and snippets.

@Joshua7054
Joshua7054 / Combine+Cooldown.swift
Created January 24, 2024 14:31 — forked from JCSooHwanCho/Combine+Cooldown.swift
Combine operator that mimics RxSwift's throttle when latest: false
extension Publisher {
func coolDown<S: Scheduler>(for cooltime: S.SchedulerTimeType.Stride,
scheduler: S) -> some Publisher<Self.Output, Self.Failure> {
return self.receive(on: scheduler)
.scan((S.SchedulerTimeType?.none, Self.Output?.none)) {
let eventTime = scheduler.now
let minimumTolerance = scheduler.minimumTolerance
guard let lastSentTime = $0.0 else {
return (eventTime, $1)
}
@Joshua7054
Joshua7054 / README.md
Created August 7, 2023 07:49 — forked from IsaacXen/README.md
(Almost) Every WWDC videos download links for aria2c.