( dateToCompare: DateToCompare, dates: DatesType, options?: Options | undefined, )
| 56 | * //=> Tue Jan 01 2030 00:00:00 |
| 57 | */ |
| 58 | export function closestTo< |
| 59 | DateToCompare extends DateArg<Date>, |
| 60 | DatesType extends DateArg<Date>[], |
| 61 | Options extends ClosestToOptions | undefined = undefined, |
| 62 | >( |
| 63 | dateToCompare: DateToCompare, |
| 64 | dates: DatesType, |
| 65 | options?: Options | undefined, |
| 66 | ): ClosestToResult<DateToCompare, DatesType, Options> | undefined { |
| 67 | const [dateToCompare_, ...dates_] = normalizeDates( |
| 68 | options?.in, |
| 69 | dateToCompare, |
| 70 | ...dates, |
| 71 | ); |
| 72 | |
| 73 | const index = closestIndexTo(dateToCompare_, dates_); |
| 74 | |
| 75 | if (typeof index === "number" && isNaN(index)) |
| 76 | return constructFrom(dateToCompare_, NaN) as ClosestToResult< |
| 77 | DateToCompare, |
| 78 | DatesType, |
| 79 | Options |
| 80 | >; |
| 81 | |
| 82 | if (index !== undefined) |
| 83 | return dates_[index] as ClosestToResult<DateToCompare, DatesType, Options>; |
| 84 | } |
no test coverage detected