@@ -592,6 +592,114 @@ extension HotSignal {
592592 }
593593}
594594
595+ /// An overloaded function that combines the values of up to 10 signals, in the
596+ /// manner described by HotSignal.combineLatestWith().
597+ public func combineLatest< A, B> ( a: HotSignal < A > , b: HotSignal < B > ) -> HotSignal < ( A , B ) > {
598+ return a. combineLatestWith ( b)
599+ }
600+
601+ public func combineLatest< A, B, C> ( a: HotSignal < A > , b: HotSignal < B > , c: HotSignal < C > ) -> HotSignal < ( A , B , C ) > {
602+ return combineLatest ( a, b)
603+ . combineLatestWith ( c)
604+ . map ( repack)
605+ }
606+
607+ public func combineLatest< A, B, C, D> ( a: HotSignal < A > , b: HotSignal < B > , c: HotSignal < C > , d: HotSignal < D > ) -> HotSignal < ( A , B , C , D ) > {
608+ return combineLatest ( a, b, c)
609+ . combineLatestWith ( d)
610+ . map ( repack)
611+ }
612+
613+ public func combineLatest< A, B, C, D, E> ( a: HotSignal < A > , b: HotSignal < B > , c: HotSignal < C > , d: HotSignal < D > , e: HotSignal < E > ) -> HotSignal < ( A , B , C , D , E ) > {
614+ return combineLatest ( a, b, c, d)
615+ . combineLatestWith ( e)
616+ . map ( repack)
617+ }
618+
619+ public func combineLatest< A, B, C, D, E, F> ( a: HotSignal < A > , b: HotSignal < B > , c: HotSignal < C > , d: HotSignal < D > , e: HotSignal < E > , f: HotSignal < F > ) -> HotSignal < ( A , B , C , D , E , F ) > {
620+ return combineLatest ( a, b, c, d, e)
621+ . combineLatestWith ( f)
622+ . map ( repack)
623+ }
624+
625+ public func combineLatest< A, B, C, D, E, F, G> ( a: HotSignal < A > , b: HotSignal < B > , c: HotSignal < C > , d: HotSignal < D > , e: HotSignal < E > , f: HotSignal < F > , g: HotSignal < G > ) -> HotSignal < ( A , B , C , D , E , F , G ) > {
626+ return combineLatest ( a, b, c, d, e, f)
627+ . combineLatestWith ( g)
628+ . map ( repack)
629+ }
630+
631+ public func combineLatest< A, B, C, D, E, F, G, H> ( a: HotSignal < A > , b: HotSignal < B > , c: HotSignal < C > , d: HotSignal < D > , e: HotSignal < E > , f: HotSignal < F > , g: HotSignal < G > , h: HotSignal < H > ) -> HotSignal < ( A , B , C , D , E , F , G , H ) > {
632+ return combineLatest ( a, b, c, d, e, f, g)
633+ . combineLatestWith ( h)
634+ . map ( repack)
635+ }
636+
637+ public func combineLatest< A, B, C, D, E, F, G, H, I> ( a: HotSignal < A > , b: HotSignal < B > , c: HotSignal < C > , d: HotSignal < D > , e: HotSignal < E > , f: HotSignal < F > , g: HotSignal < G > , h: HotSignal < H > , i: HotSignal < I > ) -> HotSignal < ( A , B , C , D , E , F , G , H , I ) > {
638+ return combineLatest ( a, b, c, d, e, f, g, h)
639+ . combineLatestWith ( i)
640+ . map ( repack)
641+ }
642+
643+ public func combineLatest< A, B, C, D, E, F, G, H, I, J> ( a: HotSignal < A > , b: HotSignal < B > , c: HotSignal < C > , d: HotSignal < D > , e: HotSignal < E > , f: HotSignal < F > , g: HotSignal < G > , h: HotSignal < H > , i: HotSignal < I > , j: HotSignal < J > ) -> HotSignal < ( A , B , C , D , E , F , G , H , I , J ) > {
644+ return combineLatest ( a, b, c, d, e, f, g, h, i)
645+ . combineLatestWith ( j)
646+ . map ( repack)
647+ }
648+
649+ /// An overloaded function that zips the values of up to 10 signals, in the
650+ /// manner described by HotSignal.zipWith().
651+ public func zip< A, B> ( a: HotSignal < A > , b: HotSignal < B > ) -> HotSignal < ( A , B ) > {
652+ return a. zipWith ( b)
653+ }
654+
655+ public func zip< A, B, C> ( a: HotSignal < A > , b: HotSignal < B > , c: HotSignal < C > ) -> HotSignal < ( A , B , C ) > {
656+ return zip ( a, b)
657+ . zipWith ( c)
658+ . map ( repack)
659+ }
660+
661+ public func zip< A, B, C, D> ( a: HotSignal < A > , b: HotSignal < B > , c: HotSignal < C > , d: HotSignal < D > ) -> HotSignal < ( A , B , C , D ) > {
662+ return zip ( a, b, c)
663+ . zipWith ( d)
664+ . map ( repack)
665+ }
666+
667+ public func zip< A, B, C, D, E> ( a: HotSignal < A > , b: HotSignal < B > , c: HotSignal < C > , d: HotSignal < D > , e: HotSignal < E > ) -> HotSignal < ( A , B , C , D , E ) > {
668+ return zip ( a, b, c, d)
669+ . zipWith ( e)
670+ . map ( repack)
671+ }
672+
673+ public func zip< A, B, C, D, E, F> ( a: HotSignal < A > , b: HotSignal < B > , c: HotSignal < C > , d: HotSignal < D > , e: HotSignal < E > , f: HotSignal < F > ) -> HotSignal < ( A , B , C , D , E , F ) > {
674+ return zip ( a, b, c, d, e)
675+ . zipWith ( f)
676+ . map ( repack)
677+ }
678+
679+ public func zip< A, B, C, D, E, F, G> ( a: HotSignal < A > , b: HotSignal < B > , c: HotSignal < C > , d: HotSignal < D > , e: HotSignal < E > , f: HotSignal < F > , g: HotSignal < G > ) -> HotSignal < ( A , B , C , D , E , F , G ) > {
680+ return zip ( a, b, c, d, e, f)
681+ . zipWith ( g)
682+ . map ( repack)
683+ }
684+
685+ public func zip< A, B, C, D, E, F, G, H> ( a: HotSignal < A > , b: HotSignal < B > , c: HotSignal < C > , d: HotSignal < D > , e: HotSignal < E > , f: HotSignal < F > , g: HotSignal < G > , h: HotSignal < H > ) -> HotSignal < ( A , B , C , D , E , F , G , H ) > {
686+ return zip ( a, b, c, d, e, f, g)
687+ . zipWith ( h)
688+ . map ( repack)
689+ }
690+
691+ public func zip< A, B, C, D, E, F, G, H, I> ( a: HotSignal < A > , b: HotSignal < B > , c: HotSignal < C > , d: HotSignal < D > , e: HotSignal < E > , f: HotSignal < F > , g: HotSignal < G > , h: HotSignal < H > , i: HotSignal < I > ) -> HotSignal < ( A , B , C , D , E , F , G , H , I ) > {
692+ return zip ( a, b, c, d, e, f, g, h)
693+ . zipWith ( i)
694+ . map ( repack)
695+ }
696+
697+ public func zip< A, B, C, D, E, F, G, H, I, J> ( a: HotSignal < A > , b: HotSignal < B > , c: HotSignal < C > , d: HotSignal < D > , e: HotSignal < E > , f: HotSignal < F > , g: HotSignal < G > , h: HotSignal < H > , i: HotSignal < I > , j: HotSignal < J > ) -> HotSignal < ( A , B , C , D , E , F , G , H , I , J ) > {
698+ return zip ( a, b, c, d, e, f, g, h, i)
699+ . zipWith ( j)
700+ . map ( repack)
701+ }
702+
595703/// Conversions from HotSignal to ColdSignal.
596704extension HotSignal {
597705 /// Buffers `count` values, starting at the time of the method invocation.
0 commit comments