diff --git a/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromArray.cs b/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromArray.cs index c5b597f8..1e323670 100644 --- a/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromArray.cs +++ b/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromArray.cs @@ -7,4 +7,9 @@ partial class FlatArrayExtensions public static FlatArray ToFlatArray([AllowNull] this T[] source) => FlatArray.From(source); + + // TODO: Add the tests and make public + internal static FlatArray ToFlatArray([AllowNull] this T[] source, int start, int length) + => + FlatArray.InternalFromArrayChecked(source, start, length); } diff --git a/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromFlatArray.cs b/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromFlatArray.cs index 3c5ac4ff..ce668b80 100644 --- a/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromFlatArray.cs +++ b/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromFlatArray.cs @@ -6,7 +6,17 @@ public static FlatArray ToFlatArray(this FlatArray source) => FlatArray.From(source); + // TODO: Add the tests and make public + internal static FlatArray ToFlatArray(this FlatArray source, int start, int length) + => + FlatArray.InternalFromFlatArrayChecked(source, start, length); + public static FlatArray ToFlatArray(this FlatArray? source) => FlatArray.From(source); + + // TODO: Add the tests and make public + internal static FlatArray ToFlatArray(this FlatArray? source, int start, int length) + => + FlatArray.InternalFromFlatArrayChecked(source.GetValueOrDefault(), start, length); } diff --git a/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromImmutableArray.cs b/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromImmutableArray.cs index 542e7034..f6c5c853 100644 --- a/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromImmutableArray.cs +++ b/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromImmutableArray.cs @@ -8,7 +8,17 @@ public static FlatArray ToFlatArray(this ImmutableArray source) => FlatArray.From(source); + // TODO: Add the tests and make public + internal static FlatArray ToFlatArray(this ImmutableArray source, int start, int length) + => + FlatArray.InternalFromImmutableArrayChecked(source, start, length); + public static FlatArray ToFlatArray(this ImmutableArray? source) => FlatArray.From(source); + + // TODO: Add the tests and make public + internal static FlatArray ToFlatArray(this ImmutableArray? source, int start, int length) + => + FlatArray.InternalFromImmutableArrayChecked(source.GetValueOrDefault(), start, length); } diff --git a/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromList.cs b/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromList.cs index c842baf5..b695d7e6 100644 --- a/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromList.cs +++ b/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromList.cs @@ -8,4 +8,9 @@ partial class FlatArrayExtensions public static FlatArray ToFlatArray([AllowNull] this List source) => FlatArray.From(source); + + // TODO: Add the tests and make public + internal static FlatArray ToFlatArray([AllowNull] this List source, int start, int length) + => + FlatArray.InternalFromListChecked(source, start, length); }