此提交包含在:
Михаил Капелько
2023-12-31 20:04:42 +03:00
父節點 b67ed0c593
當前提交 2df3868836
共有 3 個檔案被更改,包括 9 行新增9 行删除

查看文件

@@ -1,23 +1,23 @@
import BusX
import Combine
extension MeetupId {
public extension Bus {
final class Debounce<Src, Dst> {
let v = PassthroughSubject<Src, Never>()
var subscriptions = [AnyCancellable]()
init(
_ sec: Double,
_ handler: @escaping ((Src) -> Dst?),
_ sec: Double,
_ src: String,
_ dst: String
) {
// Вход.
Bus.receiveSync(
[src],
{ [weak self] _, v in self?.v.send(v) },
&subscriptions
)
// Выход.
Bus.sendSync(
dst,
v

查看文件

@@ -1,23 +1,23 @@
import BusX
import Combine
extension MeetupId {
public extension Bus {
final class Delay<Src, Dst> {
let v = PassthroughSubject<Src, Never>()
var subscriptions = [AnyCancellable]()
init(
_ sec: Double,
_ handler: @escaping ((Src) -> Dst?),
_ sec: Double,
_ src: String,
_ dst: String
) {
// Вход.
Bus.receiveSync(
[src],
{ [weak self] _, v in self?.v.send(v) },
&subscriptions
)
// Выход.
Bus.sendSync(
dst,
v

查看文件

@@ -5,7 +5,7 @@ public extension Bus {
let v = PassthroughSubject<Src, Never>()
var subscriptions = [AnyCancellable]()
public init(
init(
_ handler: @escaping ((Src) -> Dst?),
_ src: String,
_ dst: String