1
1
import type { MaybePromiseLike } from '../internal/types.js'
2
2
import type { ConcurIterable } from './core.js'
3
+ import type { AsyncOptional , ConcurOptional , Optional } from './optionals.js'
3
4
import type {
4
5
AsyncOptionalReducer ,
5
6
OptionalReducer ,
@@ -281,8 +282,8 @@ type ToMinOrMaxBy = <Value>(fn: Compare<Value>) => OptionalReducer<Value>
281
282
282
283
/** @internal */
283
284
type MinOrMaxBy = {
284
- < Value > ( fn : Compare < Value > , iterable : Iterable < Value > ) : Iterable < Value >
285
- < Value > ( fn : Compare < Value > ) : ( iterable : Iterable < Value > ) => Iterable < Value >
285
+ < Value > ( fn : Compare < Value > , iterable : Iterable < Value > ) : Optional < Value >
286
+ < Value > ( fn : Compare < Value > ) : ( iterable : Iterable < Value > ) => Optional < Value >
286
287
}
287
288
288
289
/** @internal */
@@ -295,21 +296,21 @@ type MinOrMaxByAsync = {
295
296
< Value > (
296
297
fn : AsyncCompare < Value > ,
297
298
asyncIterable : AsyncIterable < Value > ,
298
- ) : AsyncIterable < Value >
299
+ ) : AsyncOptional < Value >
299
300
< Value > (
300
301
fn : AsyncCompare < Value > ,
301
- ) : ( asyncIterable : AsyncIterable < Value > ) => AsyncIterable < Value >
302
+ ) : ( asyncIterable : AsyncIterable < Value > ) => AsyncOptional < Value >
302
303
}
303
304
304
305
/** @internal */
305
306
type MinOrMaxByConcur = {
306
307
< Value > (
307
308
fn : AsyncCompare < Value > ,
308
309
concurIterable : ConcurIterable < Value > ,
309
- ) : ConcurIterable < Value >
310
+ ) : ConcurOptional < Value >
310
311
< Value > (
311
312
fn : AsyncCompare < Value > ,
312
- ) : ( concurIterable : ConcurIterable < Value > ) => ConcurIterable < Value >
313
+ ) : ( concurIterable : ConcurIterable < Value > ) => ConcurOptional < Value >
313
314
}
314
315
315
316
/**
@@ -569,10 +570,10 @@ export const minMaxBy: {
569
570
< Value > (
570
571
fn : Compare < Value > ,
571
572
iterable : Iterable < Value > ,
572
- ) : Iterable < MinMax < Value > >
573
+ ) : Optional < MinMax < Value > >
573
574
< Value > (
574
575
fn : Compare < Value > ,
575
- ) : ( iterable : Iterable < Value > ) => Iterable < MinMax < Value > >
576
+ ) : ( iterable : Iterable < Value > ) => Optional < MinMax < Value > >
576
577
}
577
578
578
579
/**
@@ -614,10 +615,10 @@ export const minMaxByAsync: {
614
615
< Value > (
615
616
fn : AsyncCompare < Value > ,
616
617
asyncIterable : AsyncIterable < Value > ,
617
- ) : AsyncIterable < MinMax < Value > >
618
+ ) : AsyncOptional < MinMax < Value > >
618
619
< Value > (
619
620
fn : AsyncCompare < Value > ,
620
- ) : ( asyncIterable : AsyncIterable < Value > ) => AsyncIterable < MinMax < Value > >
621
+ ) : ( asyncIterable : AsyncIterable < Value > ) => AsyncOptional < MinMax < Value > >
621
622
}
622
623
623
624
/**
@@ -645,10 +646,10 @@ export const minMaxByConcur: {
645
646
< Value > (
646
647
fn : ( left : Value , right : Value ) => MaybePromiseLike < number > ,
647
648
concurIterable : ConcurIterable < Value > ,
648
- ) : ConcurIterable < MinMax < Value > >
649
+ ) : ConcurOptional < MinMax < Value > >
649
650
< Value > (
650
651
fn : ( left : Value , right : Value ) => MaybePromiseLike < number > ,
651
- ) : ( concurIterable : ConcurIterable < Value > ) => ConcurIterable < MinMax < Value > >
652
+ ) : ( concurIterable : ConcurIterable < Value > ) => ConcurOptional < MinMax < Value > >
652
653
}
653
654
654
655
/** @internal */
@@ -661,10 +662,10 @@ type MinOrMaxWith = {
661
662
< Value > (
662
663
fn : ( value : Value ) => number ,
663
664
iterable : Iterable < Value > ,
664
- ) : Iterable < Value >
665
+ ) : Optional < Value >
665
666
< Value > (
666
667
fn : ( value : Value ) => number ,
667
- ) : ( iterable : Iterable < Value > ) => Iterable < Value >
668
+ ) : ( iterable : Iterable < Value > ) => Optional < Value >
668
669
}
669
670
670
671
/** @internal */
@@ -677,21 +678,21 @@ type MinOrMaxWithAsync = {
677
678
< Value > (
678
679
fn : ( value : Value ) => MaybePromiseLike < number > ,
679
680
asyncIterable : AsyncIterable < Value > ,
680
- ) : AsyncIterable < Value >
681
+ ) : AsyncOptional < Value >
681
682
< Value > (
682
683
fn : ( value : Value ) => MaybePromiseLike < number > ,
683
- ) : ( asyncIterable : AsyncIterable < Value > ) => AsyncIterable < Value >
684
+ ) : ( asyncIterable : AsyncIterable < Value > ) => AsyncOptional < Value >
684
685
}
685
686
686
687
/** @internal */
687
688
type MinOrMaxWithConcur = {
688
689
< Value > (
689
690
fn : ( value : Value ) => MaybePromiseLike < number > ,
690
691
concurIterable : ConcurIterable < Value > ,
691
- ) : ConcurIterable < Value >
692
+ ) : ConcurOptional < Value >
692
693
< Value > (
693
694
fn : ( value : Value ) => MaybePromiseLike < number > ,
694
- ) : ( concurIterable : ConcurIterable < Value > ) => ConcurIterable < Value >
695
+ ) : ( concurIterable : ConcurIterable < Value > ) => ConcurOptional < Value >
695
696
}
696
697
697
698
/**
@@ -958,10 +959,10 @@ export const minMaxWith: {
958
959
< Value > (
959
960
fn : ( value : Value ) => number ,
960
961
iterable : Iterable < Value > ,
961
- ) : Iterable < MinMax < Value > >
962
+ ) : Optional < MinMax < Value > >
962
963
< Value > (
963
964
fn : ( value : Value ) => number ,
964
- ) : ( iterable : Iterable < Value > ) => Iterable < MinMax < Value > >
965
+ ) : ( iterable : Iterable < Value > ) => Optional < MinMax < Value > >
965
966
}
966
967
967
968
/**
@@ -1004,10 +1005,10 @@ export const minMaxWithAsync: {
1004
1005
< Value > (
1005
1006
fn : ( value : Value ) => MaybePromiseLike < number > ,
1006
1007
asyncIterable : AsyncIterable < Value > ,
1007
- ) : AsyncIterable < MinMax < Value > >
1008
+ ) : AsyncOptional < MinMax < Value > >
1008
1009
< Value > (
1009
1010
fn : ( value : Value ) => MaybePromiseLike < number > ,
1010
- ) : ( asyncIterable : AsyncIterable < Value > ) => AsyncIterable < MinMax < Value > >
1011
+ ) : ( asyncIterable : AsyncIterable < Value > ) => AsyncOptional < MinMax < Value > >
1011
1012
}
1012
1013
1013
1014
/**
@@ -1035,10 +1036,10 @@ export const minMaxWithConcur: {
1035
1036
< Value > (
1036
1037
fn : ( value : Value ) => MaybePromiseLike < number > ,
1037
1038
concurIterable : ConcurIterable < Value > ,
1038
- ) : ConcurIterable < MinMax < Value > >
1039
+ ) : ConcurOptional < MinMax < Value > >
1039
1040
< Value > (
1040
1041
fn : ( value : Value ) => MaybePromiseLike < number > ,
1041
- ) : ( concurIterable : ConcurIterable < Value > ) => ConcurIterable < MinMax < Value > >
1042
+ ) : ( concurIterable : ConcurIterable < Value > ) => ConcurOptional < MinMax < Value > >
1042
1043
}
1043
1044
1044
1045
/**
@@ -1077,7 +1078,7 @@ export const toMin: () => OptionalReducer<number>
1077
1078
* @category Statistics
1078
1079
* @since v0.0.1
1079
1080
*/
1080
- export const min : ( iterable : Iterable < number > ) => Iterable < number >
1081
+ export const min : ( iterable : Iterable < number > ) => Optional < number >
1081
1082
1082
1083
/**
1083
1084
* Returns an async iterable containing a minimum value of `asyncIterable` if
@@ -1095,7 +1096,7 @@ export const min: (iterable: Iterable<number>) => Iterable<number>
1095
1096
*/
1096
1097
export const minAsync : (
1097
1098
asyncIterable : AsyncIterable < number > ,
1098
- ) => AsyncIterable < number >
1099
+ ) => AsyncOptional < number >
1099
1100
1100
1101
/**
1101
1102
* Returns a concur iterable containing a minimum value of `concurIterable` if
@@ -1113,7 +1114,7 @@ export const minAsync: (
1113
1114
*/
1114
1115
export const minConcur : (
1115
1116
concurIterable : ConcurIterable < number > ,
1116
- ) => ConcurIterable < number >
1117
+ ) => ConcurOptional < number >
1117
1118
1118
1119
/**
1119
1120
* Returns an optional reducer that finds the maximum value of the values it
@@ -1151,7 +1152,7 @@ export const toMax: () => OptionalReducer<number>
1151
1152
* @category Statistics
1152
1153
* @since v0.0.1
1153
1154
*/
1154
- export const max : ( iterable : Iterable < number > ) => Iterable < number >
1155
+ export const max : ( iterable : Iterable < number > ) => Optional < number >
1155
1156
1156
1157
/**
1157
1158
* Returns an async iterable containing a maximum value of `asyncIterable` if
@@ -1169,7 +1170,7 @@ export const max: (iterable: Iterable<number>) => Iterable<number>
1169
1170
*/
1170
1171
export const maxAsync : (
1171
1172
asyncIterable : AsyncIterable < number > ,
1172
- ) => AsyncIterable < number >
1173
+ ) => AsyncOptional < number >
1173
1174
1174
1175
/**
1175
1176
* Returns a concur iterable containing a maximum value of `concurIterable` if
@@ -1187,7 +1188,7 @@ export const maxAsync: (
1187
1188
*/
1188
1189
export const maxConcur : (
1189
1190
concurIterable : ConcurIterable < number > ,
1190
- ) => ConcurIterable < number >
1191
+ ) => ConcurOptional < number >
1191
1192
1192
1193
/**
1193
1194
* Returns an optional reducer that finds the {@link MinMax} value of the values
@@ -1226,7 +1227,7 @@ export const toMinMax: () => OptionalReducer<MinMax<number>>
1226
1227
* @category Statistics
1227
1228
* @since v0.0.2
1228
1229
*/
1229
- export const minMax : ( iterable : Iterable < number > ) => Iterable < MinMax < number > >
1230
+ export const minMax : ( iterable : Iterable < number > ) => Optional < MinMax < number > >
1230
1231
1231
1232
/**
1232
1233
* Returns an async iterable containing a {@link MinMax} value of
@@ -1244,7 +1245,7 @@ export const minMax: (iterable: Iterable<number>) => Iterable<MinMax<number>>
1244
1245
*/
1245
1246
export const minMaxAsync : (
1246
1247
asyncIterable : AsyncIterable < number > ,
1247
- ) => AsyncIterable < MinMax < number > >
1248
+ ) => AsyncOptional < MinMax < number > >
1248
1249
1249
1250
/**
1250
1251
* Returns a concur iterable containing a {@link MinMax} value of
@@ -1262,4 +1263,4 @@ export const minMaxAsync: (
1262
1263
*/
1263
1264
export const minMaxConcur : (
1264
1265
concurIterable : ConcurIterable < number > ,
1265
- ) => ConcurIterable < MinMax < number > >
1266
+ ) => ConcurOptional < MinMax < number > >
0 commit comments