File tree Expand file tree Collapse file tree 2 files changed +23
-6
lines changed
Expand file tree Collapse file tree 2 files changed +23
-6
lines changed Original file line number Diff line number Diff line change @@ -1596,18 +1596,30 @@ export class DateTime<IsValid extends boolean = DefaultValidity> {
15961596 *
15971597 * @param dateTimes - the DateTimes from which to choose the minimum
15981598 */
1599- static min < AllValid extends boolean > (
1600- ...dateTimes : Array < DateTime < AllValid > >
1601- ) : ( AllValid extends true ? DateTime < Valid > : never ) | ( AllValid extends false ? DateTime < Invalid > : never ) ;
1599+ static min < Values extends Array < DateTime < boolean > > > (
1600+ ...dateTimes : Values
1601+ ) : Values extends [ ] ? undefined
1602+ :
1603+ | ( Values extends Array < DateTime < infer AllValues > > ? AllValues extends true ? DateTime < Valid > : never
1604+ : never )
1605+ | ( Values extends Array < DateTime < infer AllValues > > ? AllValues extends false ? DateTime < Invalid > : never
1606+ : never )
1607+ | ( [ ] extends Values ? undefined : never ) ;
16021608
16031609 /**
16041610 * Return the max of several date times
16051611 *
16061612 * @param dateTimes - the DateTimes from which to choose the maximum
16071613 */
1608- static max < AllValid extends boolean > (
1609- ...dateTimes : Array < DateTime < AllValid > >
1610- ) : ( AllValid extends true ? DateTime < Valid > : never ) | ( AllValid extends false ? DateTime < Invalid > : never ) ;
1614+ static max < Values extends Array < DateTime < boolean > > > (
1615+ ...dateTimes : Values
1616+ ) : Values extends [ ] ? undefined
1617+ :
1618+ | ( Values extends Array < DateTime < infer AllValues > > ? AllValues extends true ? DateTime < Valid > : never
1619+ : never )
1620+ | ( Values extends Array < DateTime < infer AllValues > > ? AllValues extends false ? DateTime < Invalid > : never
1621+ : never )
1622+ | ( [ ] extends Values ? undefined : never ) ;
16111623
16121624 // MISC
16131625
Original file line number Diff line number Diff line change @@ -233,8 +233,13 @@ DateTime.local().toUTC(); // $ExpectType DateTime<true>
233233DateTime . utc ( ) . toLocal ( ) ; // $ExpectType DateTime<true>
234234
235235DateTime . max ( dt , now ) ; // $ExpectType DateTime<true> | DateTime<false>
236+ DateTime . max ( now , now ) ; // $ExpectType DateTime<true>
237+ DateTime . max ( ...[ dt , now ] . filter ( date => date ) ) ; // $ExpectType DateTime<true> | DateTime<false> | undefined
238+ DateTime . max ( ) ; // $ExpectType undefined
236239DateTime . min ( dt , now ) ; // $ExpectType DateTime<true> | DateTime<false>
237240DateTime . min ( now , now ) ; // $ExpectType DateTime<true>
241+ DateTime . min ( ...[ dt , now ] . filter ( date => date ) ) ; // $ExpectType DateTime<true> | DateTime<false> | undefined
242+ DateTime . min ( ) ; // $ExpectType undefined
238243
239244const anything : unknown = 0 ;
240245if ( DateTime . isDateTime ( anything ) ) {
You can’t perform that action at this time.
0 commit comments