From 1a4d2ae68067d781baaaa235ec6ac8fcd91ae13b Mon Sep 17 00:00:00 2001 From: Peter Iakovlev Date: Fri, 18 Jan 2019 17:34:50 +0400 Subject: [PATCH] Add more combineLatest implementations --- SwiftSignalKit/Signal_Combine.swift | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/SwiftSignalKit/Signal_Combine.swift b/SwiftSignalKit/Signal_Combine.swift index 3dadd8cb12..0f981ed1e8 100644 --- a/SwiftSignalKit/Signal_Combine.swift +++ b/SwiftSignalKit/Signal_Combine.swift @@ -124,6 +124,18 @@ public func combineLatest(queue: Queue? = nil, _ s1: }, initialValues: [:], queue: queue) } +public func combineLatest(queue: Queue? = nil, _ s1: Signal, _ s2: Signal, _ s3: Signal, _ s4: Signal, _ s5: Signal, _ s6: Signal, _ s7: Signal) -> Signal<(T1, T2, T3, T4, T5, T6, T7), E> { + return combineLatestAny([signalOfAny(s1), signalOfAny(s2), signalOfAny(s3), signalOfAny(s4), signalOfAny(s5), signalOfAny(s6), signalOfAny(s7)], combine: { values in + return (values[0] as! T1, values[1] as! T2, values[2] as! T3, values[3] as! T4, values[4] as! T5, values[5] as! T6, values[6] as! T7) + }, initialValues: [:], queue: queue) +} + +public func combineLatest(queue: Queue? = nil, _ s1: Signal, _ s2: Signal, _ s3: Signal, _ s4: Signal, _ s5: Signal, _ s6: Signal, _ s7: Signal, _ s8: Signal) -> Signal<(T1, T2, T3, T4, T5, T6, T7, T8), E> { + return combineLatestAny([signalOfAny(s1), signalOfAny(s2), signalOfAny(s3), signalOfAny(s4), signalOfAny(s5), signalOfAny(s6), signalOfAny(s7), signalOfAny(s8)], combine: { values in + return (values[0] as! T1, values[1] as! T2, values[2] as! T3, values[3] as! T4, values[4] as! T5, values[5] as! T6, values[6] as! T7, values[7] as! T8) + }, initialValues: [:], queue: queue) +} + public func combineLatest(queue: Queue? = nil, _ signals: [Signal]) -> Signal<[T], E> { if signals.count == 0 { return single([T](), E.self)