@@ -1087,6 +1087,114 @@ extension ColdSignal {
1087
1087
}
1088
1088
}
1089
1089
1090
+ /// An overloaded function that combines the values of up to 10 signals, in the
1091
+ /// manner described by ColdSignal.combineLatestWith().
1092
+ public func combineLatest< A, B> ( a: ColdSignal < A > , b: ColdSignal < B > ) -> ColdSignal < ( A , B ) > {
1093
+ return a. combineLatestWith ( b)
1094
+ }
1095
+
1096
+ public func combineLatest< A, B, C> ( a: ColdSignal < A > , b: ColdSignal < B > , c: ColdSignal < C > ) -> ColdSignal < ( A , B , C ) > {
1097
+ return combineLatest ( a, b)
1098
+ . combineLatestWith ( c)
1099
+ . map ( repack)
1100
+ }
1101
+
1102
+ public func combineLatest< A, B, C, D> ( a: ColdSignal < A > , b: ColdSignal < B > , c: ColdSignal < C > , d: ColdSignal < D > ) -> ColdSignal < ( A , B , C , D ) > {
1103
+ return combineLatest ( a, b, c)
1104
+ . combineLatestWith ( d)
1105
+ . map ( repack)
1106
+ }
1107
+
1108
+ public func combineLatest< A, B, C, D, E> ( a: ColdSignal < A > , b: ColdSignal < B > , c: ColdSignal < C > , d: ColdSignal < D > , e: ColdSignal < E > ) -> ColdSignal < ( A , B , C , D , E ) > {
1109
+ return combineLatest ( a, b, c, d)
1110
+ . combineLatestWith ( e)
1111
+ . map ( repack)
1112
+ }
1113
+
1114
+ public func combineLatest< A, B, C, D, E, F> ( a: ColdSignal < A > , b: ColdSignal < B > , c: ColdSignal < C > , d: ColdSignal < D > , e: ColdSignal < E > , f: ColdSignal < F > ) -> ColdSignal < ( A , B , C , D , E , F ) > {
1115
+ return combineLatest ( a, b, c, d, e)
1116
+ . combineLatestWith ( f)
1117
+ . map ( repack)
1118
+ }
1119
+
1120
+ public func combineLatest< A, B, C, D, E, F, G> ( a: ColdSignal < A > , b: ColdSignal < B > , c: ColdSignal < C > , d: ColdSignal < D > , e: ColdSignal < E > , f: ColdSignal < F > , g: ColdSignal < G > ) -> ColdSignal < ( A , B , C , D , E , F , G ) > {
1121
+ return combineLatest ( a, b, c, d, e, f)
1122
+ . combineLatestWith ( g)
1123
+ . map ( repack)
1124
+ }
1125
+
1126
+ public func combineLatest< A, B, C, D, E, F, G, H> ( a: ColdSignal < A > , b: ColdSignal < B > , c: ColdSignal < C > , d: ColdSignal < D > , e: ColdSignal < E > , f: ColdSignal < F > , g: ColdSignal < G > , h: ColdSignal < H > ) -> ColdSignal < ( A , B , C , D , E , F , G , H ) > {
1127
+ return combineLatest ( a, b, c, d, e, f, g)
1128
+ . combineLatestWith ( h)
1129
+ . map ( repack)
1130
+ }
1131
+
1132
+ public func combineLatest< A, B, C, D, E, F, G, H, I> ( a: ColdSignal < A > , b: ColdSignal < B > , c: ColdSignal < C > , d: ColdSignal < D > , e: ColdSignal < E > , f: ColdSignal < F > , g: ColdSignal < G > , h: ColdSignal < H > , i: ColdSignal < I > ) -> ColdSignal < ( A , B , C , D , E , F , G , H , I ) > {
1133
+ return combineLatest ( a, b, c, d, e, f, g, h)
1134
+ . combineLatestWith ( i)
1135
+ . map ( repack)
1136
+ }
1137
+
1138
+ public func combineLatest< A, B, C, D, E, F, G, H, I, J> ( a: ColdSignal < A > , b: ColdSignal < B > , c: ColdSignal < C > , d: ColdSignal < D > , e: ColdSignal < E > , f: ColdSignal < F > , g: ColdSignal < G > , h: ColdSignal < H > , i: ColdSignal < I > , j: ColdSignal < J > ) -> ColdSignal < ( A , B , C , D , E , F , G , H , I , J ) > {
1139
+ return combineLatest ( a, b, c, d, e, f, g, h, i)
1140
+ . combineLatestWith ( j)
1141
+ . map ( repack)
1142
+ }
1143
+
1144
+ /// An overloaded function that zips the values of up to 10 signals, in the
1145
+ /// manner described by ColdSignal.zipWith().
1146
+ public func zip< A, B> ( a: ColdSignal < A > , b: ColdSignal < B > ) -> ColdSignal < ( A , B ) > {
1147
+ return a. zipWith ( b)
1148
+ }
1149
+
1150
+ public func zip< A, B, C> ( a: ColdSignal < A > , b: ColdSignal < B > , c: ColdSignal < C > ) -> ColdSignal < ( A , B , C ) > {
1151
+ return zip ( a, b)
1152
+ . zipWith ( c)
1153
+ . map ( repack)
1154
+ }
1155
+
1156
+ public func zip< A, B, C, D> ( a: ColdSignal < A > , b: ColdSignal < B > , c: ColdSignal < C > , d: ColdSignal < D > ) -> ColdSignal < ( A , B , C , D ) > {
1157
+ return zip ( a, b, c)
1158
+ . zipWith ( d)
1159
+ . map ( repack)
1160
+ }
1161
+
1162
+ public func zip< A, B, C, D, E> ( a: ColdSignal < A > , b: ColdSignal < B > , c: ColdSignal < C > , d: ColdSignal < D > , e: ColdSignal < E > ) -> ColdSignal < ( A , B , C , D , E ) > {
1163
+ return zip ( a, b, c, d)
1164
+ . zipWith ( e)
1165
+ . map ( repack)
1166
+ }
1167
+
1168
+ public func zip< A, B, C, D, E, F> ( a: ColdSignal < A > , b: ColdSignal < B > , c: ColdSignal < C > , d: ColdSignal < D > , e: ColdSignal < E > , f: ColdSignal < F > ) -> ColdSignal < ( A , B , C , D , E , F ) > {
1169
+ return zip ( a, b, c, d, e)
1170
+ . zipWith ( f)
1171
+ . map ( repack)
1172
+ }
1173
+
1174
+ public func zip< A, B, C, D, E, F, G> ( a: ColdSignal < A > , b: ColdSignal < B > , c: ColdSignal < C > , d: ColdSignal < D > , e: ColdSignal < E > , f: ColdSignal < F > , g: ColdSignal < G > ) -> ColdSignal < ( A , B , C , D , E , F , G ) > {
1175
+ return zip ( a, b, c, d, e, f)
1176
+ . zipWith ( g)
1177
+ . map ( repack)
1178
+ }
1179
+
1180
+ public func zip< A, B, C, D, E, F, G, H> ( a: ColdSignal < A > , b: ColdSignal < B > , c: ColdSignal < C > , d: ColdSignal < D > , e: ColdSignal < E > , f: ColdSignal < F > , g: ColdSignal < G > , h: ColdSignal < H > ) -> ColdSignal < ( A , B , C , D , E , F , G , H ) > {
1181
+ return zip ( a, b, c, d, e, f, g)
1182
+ . zipWith ( h)
1183
+ . map ( repack)
1184
+ }
1185
+
1186
+ public func zip< A, B, C, D, E, F, G, H, I> ( a: ColdSignal < A > , b: ColdSignal < B > , c: ColdSignal < C > , d: ColdSignal < D > , e: ColdSignal < E > , f: ColdSignal < F > , g: ColdSignal < G > , h: ColdSignal < H > , i: ColdSignal < I > ) -> ColdSignal < ( A , B , C , D , E , F , G , H , I ) > {
1187
+ return zip ( a, b, c, d, e, f, g, h)
1188
+ . zipWith ( i)
1189
+ . map ( repack)
1190
+ }
1191
+
1192
+ public func zip< A, B, C, D, E, F, G, H, I, J> ( a: ColdSignal < A > , b: ColdSignal < B > , c: ColdSignal < C > , d: ColdSignal < D > , e: ColdSignal < E > , f: ColdSignal < F > , g: ColdSignal < G > , h: ColdSignal < H > , i: ColdSignal < I > , j: ColdSignal < J > ) -> ColdSignal < ( A , B , C , D , E , F , G , H , I , J ) > {
1193
+ return zip ( a, b, c, d, e, f, g, h, i)
1194
+ . zipWith ( j)
1195
+ . map ( repack)
1196
+ }
1197
+
1090
1198
/// Blocking methods for receiving values.
1091
1199
extension ColdSignal {
1092
1200
/// Starts the receiver, then returns the first value received.
0 commit comments