@@ -592,6 +592,114 @@ extension HotSignal {
592
592
}
593
593
}
594
594
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
+
595
703
/// Conversions from HotSignal to ColdSignal.
596
704
extension HotSignal {
597
705
/// Buffers `count` values, starting at the time of the method invocation.
0 commit comments