namespace SJK.Functional;
///
/// Provides methods to convert values into tuples.
///
public static class TupleExtensions
{
///
/// Converts two values of any type into a tuple.
///
/// The type of the first value.
/// The type of the second value.
/// The first value to convert.
/// The second value to convert.
/// A tuple containing both values.
public static (T1, T2) ToTuple(this T1 first, T2 second) => (first, second);
///
/// Converts three values of any type into a tuple.
///
/// The type of the first value.
/// The type of the second value.
/// The type of the third value.
/// The first value to convert.
/// The second value to convert.
/// The third value to convert.
/// A tuple containing all three values.
public static (T1, T2, T3) ToTuple(this T1 first, T2 second, T3 third) => (first, second, third);
///
/// Converts four values of any type into a tuple.
///
/// The type of the first value.
/// The type of the second value.
/// The type of the third value.
/// The type of the fourth value.
/// The first value to convert.
/// The second value to convert.
/// The third value to convert.
/// The fourth value to convert.
/// A tuple containing all four values.
public static (T1, T2, T3, T4) ToTuple(this T1 first, T2 second, T3 third, T4 forth) => (first, second, third, forth);
}