Skip to content

Commit 343d040

Browse files
committed
v1.1.0-rc.1: Add static factory interfaces
1 parent 1bb18db commit 343d040

File tree

9 files changed

+43
-10
lines changed

9 files changed

+43
-10
lines changed

src/collections-generic-equalitycomparers/Collections.Generic.EqualityComparers.Tests/Collections.Generic.EqualityComparers.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
</PropertyGroup>
2222

2323
<ItemGroup>
24-
<PackageReference Include="coverlet.collector" Version="6.0.2">
24+
<PackageReference Include="coverlet.collector" Version="6.0.3">
2525
<PrivateAssets>all</PrivateAssets>
2626
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2727
</PackageReference>

src/collections-generic-equalitycomparers/Collections.Generic.EqualityComparers/Collections.Generic.EqualityComparers.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515
<RepositoryUrl>https://github.com/pfpack/pfpack-collections-generic</RepositoryUrl>
1616
<Company>pfpack</Company>
1717
<Authors>Andrei Sergeev, Pavel Moskovoy</Authors>
18-
<Copyright>Copyright © 2022-2023 Andrei Sergeev, Pavel Moskovoy</Copyright>
18+
<Copyright>Copyright © 2022-2024 Andrei Sergeev, Pavel Moskovoy</Copyright>
1919
<Description>PrimeFuncPack Generic Collections.EqualityComparers is a core library for .NET consisting of collection value equality comparers.</Description>
2020
<RootNamespace>System.Collections.Generic</RootNamespace>
2121
<AssemblyName>PrimeFuncPack.Collections.Generic.EqualityComparers</AssemblyName>
22-
<Version>1.0.2-rc.1</Version>
22+
<Version>1.1.0-rc.1</Version>
2323
</PropertyGroup>
2424

2525
<ItemGroup>

src/collections-generic-equalitycomparers/Collections.Generic.EqualityComparers/EqualityComparers/ArrayEqualityComparer.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
namespace System.Collections.Generic;
22

3-
public sealed class ArrayEqualityComparer<T> : IEqualityComparer<T[]>
3+
public sealed class ArrayEqualityComparer<T> :
4+
IEqualityComparer<T[]>,
5+
ICollectionEqualityComparerFactory<T, T[], ArrayEqualityComparer<T>>
46
{
57
private readonly IEqualityComparer<T> comparer;
68

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
namespace System.Collections.Generic;
2+
3+
public interface ICollectionEqualityComparerFactory<T, TCollection, TEqualityComparer>
4+
where TCollection : IEnumerable<T>
5+
where TEqualityComparer : IEqualityComparer<TCollection>
6+
{
7+
public static abstract TEqualityComparer Create();
8+
9+
public static abstract TEqualityComparer Create(IEqualityComparer<T>? comparer);
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
using System.Collections.Immutable;
2+
3+
namespace System.Collections.Generic;
4+
5+
public interface INullableImmutableArrayEqualityComparerFactory<T, TEqualityComparer>
6+
where TEqualityComparer : IEqualityComparer<ImmutableArray<T>?>
7+
{
8+
public static abstract TEqualityComparer Create();
9+
10+
public static abstract TEqualityComparer Create(IEqualityComparer<T>? comparer);
11+
}

src/collections-generic-equalitycomparers/Collections.Generic.EqualityComparers/EqualityComparers/ImmutableArrayEqualityComparer.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,11 @@
22

33
namespace System.Collections.Generic;
44

5-
public sealed class ImmutableArrayEqualityComparer<T> : IEqualityComparer<ImmutableArray<T>>, IEqualityComparer<ImmutableArray<T>?>
5+
public sealed class ImmutableArrayEqualityComparer<T> :
6+
IEqualityComparer<ImmutableArray<T>>,
7+
IEqualityComparer<ImmutableArray<T>?>,
8+
ICollectionEqualityComparerFactory<T, ImmutableArray<T>, ImmutableArrayEqualityComparer<T>>,
9+
INullableImmutableArrayEqualityComparerFactory<T, ImmutableArrayEqualityComparer<T>>
610
{
711
private readonly IEqualityComparer<T> comparer;
812

src/collections-generic-equalitycomparers/Collections.Generic.EqualityComparers/EqualityComparers/ListEqualityComparer.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
namespace System.Collections.Generic;
22

3-
public sealed class ListEqualityComparer<T> : IEqualityComparer<IList<T>>, IEqualityComparer<List<T>>
3+
public sealed class ListEqualityComparer<T> :
4+
IEqualityComparer<IList<T>>,
5+
IEqualityComparer<List<T>>,
6+
ICollectionEqualityComparerFactory<T, IList<T>, ListEqualityComparer<T>>,
7+
ICollectionEqualityComparerFactory<T, List<T>, ListEqualityComparer<T>>
48
{
59
private readonly IEqualityComparer<T> comparer;
610

src/collections-generic-equalitycomparers/Collections.Generic.EqualityComparers/EqualityComparers/ReadOnlyListEqualityComparer.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
namespace System.Collections.Generic;
22

3-
public sealed class ReadOnlyListEqualityComparer<T> : IEqualityComparer<IReadOnlyList<T>>
3+
public sealed class ReadOnlyListEqualityComparer<T> :
4+
IEqualityComparer<IReadOnlyList<T>>,
5+
ICollectionEqualityComparerFactory<T, IReadOnlyList<T>, ReadOnlyListEqualityComparer<T>>
46
{
57
private readonly IEqualityComparer<T> comparer;
68

src/collections-generic/Collections.Generic/Collections.Generic.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515
<RepositoryUrl>https://github.com/pfpack/pfpack-collections-generic</RepositoryUrl>
1616
<Company>pfpack</Company>
1717
<Authors>Andrei Sergeev, Pavel Moskovoy</Authors>
18-
<Copyright>Copyright © 2022-2023 Andrei Sergeev, Pavel Moskovoy</Copyright>
18+
<Copyright>Copyright © 2022-2024 Andrei Sergeev, Pavel Moskovoy</Copyright>
1919
<Description>PrimeFuncPack Generic Collections is a core library pack for .NET consisting of collection extensions such as collection value equality comparers.</Description>
2020
<RootNamespace>System.Collections.Generic</RootNamespace>
2121
<AssemblyName>PrimeFuncPack.Collections.Generic</AssemblyName>
22-
<Version>1.0.2-rc.1</Version>
22+
<Version>1.1.0-rc.1</Version>
2323
</PropertyGroup>
2424

2525
<ItemGroup>
@@ -34,7 +34,7 @@
3434
</ItemGroup>
3535

3636
<ItemGroup>
37-
<PackageReference Include="PrimeFuncPack.Collections.Generic.EqualityComparers" Version="1.0.2-rc.1" />
37+
<PackageReference Include="PrimeFuncPack.Collections.Generic.EqualityComparers" Version="1.1.0-rc.1" />
3838
</ItemGroup>
3939

4040
</Project>

0 commit comments

Comments
 (0)