Skip to content

Commit

Permalink
Version 1.1 (#91)
Browse files Browse the repository at this point in the history
  • Loading branch information
akade authored Nov 20, 2023
1 parent fd997f3 commit 21a1f7e
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 21 deletions.
2 changes: 1 addition & 1 deletion Akade.IndexedSet.Tests/Akade.IndexedSet.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Akade.IndexedSet\Akade.IndexedSet.csproj" ExcludeAssets="Analyzer" />
<ProjectReference Include="..\Akade.IndexedSet\Akade.IndexedSet.csproj" />
</ItemGroup>

</Project>
3 changes: 1 addition & 2 deletions Akade.IndexedSet/Akade.IndexedSet.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@
<PropertyGroup>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<Version>1.0.1</Version>
<VersionSuffix>beta</VersionSuffix>
<Version>1.1.0</Version>
<Description>Provides an In-Memory data structure, the IndexedSet, that allows to easily add indices to allow efficient querying. Currently supports unique and non-unique indices, range indices as well as fuzzy string matching for single attributes, compound or computed keys.</Description>
<Copyright>Copyright © Akade 2023</Copyright>
<Authors>Akade</Authors>
Expand Down
17 changes: 14 additions & 3 deletions Akade.IndexedSet/PublicAPI.Shipped.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Add(TElement element
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.AddRange(System.Collections.Generic.IEnumerable<TElement>! elements) -> int
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Clear() -> void
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Contains(System.Func<TElement, string!>! indexAccessor, System.ReadOnlySpan<char> infix, string? indexName = null) -> System.Collections.Generic.IEnumerable<TElement>!
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Contains(TElement element) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Count.get -> int
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Dispose() -> void
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.FuzzyContains(System.Func<TElement, string!>! indexAccessor, System.ReadOnlySpan<char> infix, int maxDistance, string? indexName = null) -> System.Collections.Generic.IEnumerable<TElement>!
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.FuzzyStartsWith(System.Func<TElement, string!>! indexAccessor, System.ReadOnlySpan<char> prefix, int maxDistance, string? indexName = null) -> System.Collections.Generic.IEnumerable<TElement>!
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.GreaterThan<TIndexKey>(System.Func<TElement, TIndexKey>! indexAccessor, TIndexKey value, string? indexName = null) -> System.Collections.Generic.IEnumerable<TElement>!
Expand All @@ -18,21 +20,29 @@ Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.MinBy<TIndexKey>(Sys
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.OrderBy<TIndexKey>(System.Func<TElement, TIndexKey>! indexAccessor, int skip = 0, int count = -1, string? indexName = null) -> System.Collections.Generic.IEnumerable<TElement>!
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.OrderByDescending<TIndexKey>(System.Func<TElement, TIndexKey>! indexAccessor, int skip = 0, int count = -1, string? indexName = null) -> System.Collections.Generic.IEnumerable<TElement>!
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Range<TIndexKey>(System.Func<TElement, TIndexKey>! indexAccessor, TIndexKey start, TIndexKey end, bool inclusiveStart = true, bool inclusiveEnd = false, string? indexName = null) -> System.Collections.Generic.IEnumerable<TElement>!
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Read(System.Func<Akade.IndexedSet.IndexedSet<TElement>!, System.Collections.Generic.IEnumerable<TElement>!>! readFunc) -> System.Collections.Generic.IEnumerable<TElement>!
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Read<TState>(TState state, System.Func<Akade.IndexedSet.IndexedSet<TElement>!, TState, System.Collections.Generic.IEnumerable<TElement>!>! readFunc) -> System.Collections.Generic.IEnumerable<TElement>!
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Remove(TElement element) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Single<TIndexKey>(System.Func<TElement, System.Collections.Generic.IEnumerable<TIndexKey>!>! indexAccessor, TIndexKey contains, string? indexName = null) -> TElement
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Single<TIndexKey>(System.Func<TElement, TIndexKey>! indexAccessor, TIndexKey indexKey, string? indexName = null) -> TElement
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.StartsWith(System.Func<TElement, string!>! indexAccessor, System.ReadOnlySpan<char> prefix, string? indexName = null) -> System.Collections.Generic.IEnumerable<TElement>!
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.TryGetSingle<TIndexKey>(System.Func<TElement, TIndexKey>! indexAccessor, TIndexKey indexKey, out TElement? element, string? indexName = null) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.TryGetSingle<TIndexKey>(System.Func<TElement, System.Collections.Generic.IEnumerable<TIndexKey>!>! indexAccessor, TIndexKey indexKey, out TElement? element, string? indexName = null) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.TryGetSingle<TIndexKey>(System.Func<TElement, TIndexKey>! indexAccessor, TIndexKey indexKey, out TElement? element, string? indexName = null) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Update(System.Action<Akade.IndexedSet.IndexedSet<TElement>!>! updateFunc) -> void
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Update(TElement element, System.Action<TElement>! updateFunc) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Update(TElement element, System.Func<TElement, TElement>! updateFunc) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Update<TState>(System.Action<Akade.IndexedSet.IndexedSet<TElement>!, TState>! updateFunc, TState state) -> void
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Update<TState>(TElement element, TState state, System.Action<TElement, TState>! updateFunc) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Update<TState>(TElement element, TState state, System.Func<TElement, TState, TElement>! updateFunc) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Update<TState>(TState state, System.Action<Akade.IndexedSet.IndexedSet<TElement>!, TState>! updateFunc) -> void
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Where<TIndexKey>(System.Func<TElement, System.Collections.Generic.IEnumerable<TIndexKey>!>! indexAccessor, TIndexKey contains, string? indexName = null) -> System.Collections.Generic.IEnumerable<TElement>!
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Where<TIndexKey>(System.Func<TElement, TIndexKey>! indexAccessor, TIndexKey indexKey, string? indexName = null) -> System.Collections.Generic.IEnumerable<TElement>!
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TPrimaryKey, TElement>
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TPrimaryKey, TElement>.Contains(TPrimaryKey key) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TPrimaryKey, TElement>.Remove(TPrimaryKey key) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TPrimaryKey, TElement>.Single(TPrimaryKey key) -> TElement
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TPrimaryKey, TElement>.this[TPrimaryKey key].get -> TElement
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TPrimaryKey, TElement>.TryGetSingle(TPrimaryKey key, out TElement? result) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TPrimaryKey, TElement>.Update(System.Action<Akade.IndexedSet.IndexedSet<TPrimaryKey, TElement>!>! updateFunc) -> void
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TPrimaryKey, TElement>.Update<TState>(System.Action<Akade.IndexedSet.IndexedSet<TPrimaryKey, TElement>!, TState>! updateFunc, TState state) -> void
Akade.IndexedSet.IndexedSet<TElement>
Expand Down Expand Up @@ -61,8 +71,8 @@ Akade.IndexedSet.IndexedSet<TElement>.Remove(TElement element) -> bool
Akade.IndexedSet.IndexedSet<TElement>.Single<TIndexKey>(System.Func<TElement, System.Collections.Generic.IEnumerable<TIndexKey>!>! indexAccessor, TIndexKey contains, string? indexName = null) -> TElement
Akade.IndexedSet.IndexedSet<TElement>.Single<TIndexKey>(System.Func<TElement, TIndexKey>! indexAccessor, TIndexKey indexKey, string? indexName = null) -> TElement
Akade.IndexedSet.IndexedSet<TElement>.StartsWith(System.Func<TElement, string!>! indexAccessor, System.ReadOnlySpan<char> prefix, string? indexName = null) -> System.Collections.Generic.IEnumerable<TElement>!
Akade.IndexedSet.IndexedSet<TElement>.TryGetSingle<TIndexKey>(System.Func<TElement, TIndexKey>! indexAccessor, TIndexKey indexKey, out TElement? element, string? indexName = null) -> bool
Akade.IndexedSet.IndexedSet<TElement>.TryGetSingle<TIndexKey>(System.Func<TElement, System.Collections.Generic.IEnumerable<TIndexKey>!>! indexAccessor, TIndexKey indexKey, out TElement? element, string? indexName = null) -> bool
Akade.IndexedSet.IndexedSet<TElement>.TryGetSingle<TIndexKey>(System.Func<TElement, TIndexKey>! indexAccessor, TIndexKey indexKey, out TElement? element, string? indexName = null) -> bool
Akade.IndexedSet.IndexedSet<TElement>.Update(TElement element, System.Action<TElement>! updateFunc) -> bool
Akade.IndexedSet.IndexedSet<TElement>.Update(TElement element, System.Func<TElement, TElement>! updateFunc) -> bool
Akade.IndexedSet.IndexedSet<TElement>.Update<TState>(TElement element, TState state, System.Action<TElement, TState>! updateFunc) -> bool
Expand All @@ -75,6 +85,7 @@ Akade.IndexedSet.IndexedSet<TPrimaryKey, TElement>.IndexedSet(System.Func<TEleme
Akade.IndexedSet.IndexedSet<TPrimaryKey, TElement>.Remove(TPrimaryKey key) -> bool
Akade.IndexedSet.IndexedSet<TPrimaryKey, TElement>.Single(TPrimaryKey key) -> TElement
Akade.IndexedSet.IndexedSet<TPrimaryKey, TElement>.this[TPrimaryKey key].get -> TElement
Akade.IndexedSet.IndexedSet<TPrimaryKey, TElement>.TryGetSingle(TPrimaryKey key, out TElement? result) -> bool
Akade.IndexedSet.IndexedSetBuilder
Akade.IndexedSet.IndexedSetBuilder<TElement>
Akade.IndexedSet.IndexedSetBuilder<TPrimaryKey, TElement>
Expand All @@ -100,4 +111,4 @@ virtual Akade.IndexedSet.IndexedSetBuilder<TElement>.WithIndex<TIndexKey>(System
virtual Akade.IndexedSet.IndexedSetBuilder<TElement>.WithIndex<TIndexKey>(System.Func<TElement, TIndexKey>! keyAccessor, string? indexName = null) -> Akade.IndexedSet.IndexedSetBuilder<TElement>!
virtual Akade.IndexedSet.IndexedSetBuilder<TElement>.WithPrefixIndex(System.Func<TElement, string!>! keyAccessor, string? indexName = null) -> Akade.IndexedSet.IndexedSetBuilder<TElement>!
virtual Akade.IndexedSet.IndexedSetBuilder<TElement>.WithRangeIndex<TIndexKey>(System.Func<TElement, TIndexKey>! keyAccessor, string? indexName = null) -> Akade.IndexedSet.IndexedSetBuilder<TElement>!
virtual Akade.IndexedSet.IndexedSetBuilder<TElement>.WithUniqueIndex<TIndexKey>(System.Func<TElement, TIndexKey>! keyAccessor, string? indexName = null) -> Akade.IndexedSet.IndexedSetBuilder<TElement>!
virtual Akade.IndexedSet.IndexedSetBuilder<TElement>.WithUniqueIndex<TIndexKey>(System.Func<TElement, TIndexKey>! keyAccessor, string? indexName = null) -> Akade.IndexedSet.IndexedSetBuilder<TElement>!
11 changes: 0 additions & 11 deletions Akade.IndexedSet/PublicAPI.Unshipped.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1 @@
#nullable enable
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Dispose() -> void
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Read(System.Func<Akade.IndexedSet.IndexedSet<TElement>!, System.Collections.Generic.IEnumerable<TElement>!>! readFunc) -> System.Collections.Generic.IEnumerable<TElement>!
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Read<TState>(TState state, System.Func<Akade.IndexedSet.IndexedSet<TElement>!, TState, System.Collections.Generic.IEnumerable<TElement>!>! readFunc) -> System.Collections.Generic.IEnumerable<TElement>!
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Update(TElement element, System.Action<TElement>! updateFunc) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Update<TState>(TElement element, TState state, System.Action<TElement, TState>! updateFunc) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Update(TElement element, System.Func<TElement, TElement>! updateFunc) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Update<TState>(TElement element, TState state, System.Func<TElement, TState, TElement>! updateFunc) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Contains(TElement element) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TElement>.Update<TState>(TState state, System.Action<Akade.IndexedSet.IndexedSet<TElement>!, TState>! updateFunc) -> void
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet<TPrimaryKey, TElement>.TryGetSingle(TPrimaryKey key, out TElement? result) -> bool
Akade.IndexedSet.IndexedSet<TPrimaryKey, TElement>.TryGetSingle(TPrimaryKey key, out TElement? result) -> bool
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

Rule ID | Category | Severity | Notes
--------|----------|----------|-------
AkadeIndexedSet0001 | Akade.IndexedSet.IndexNaming | Warning | IndexNamingRulesAnalyzer, [Documentation](https://github.com/akade/Akade.IndexedSet/tree/main/Akade.IndexedSet.Analyzers/Readme.md#AkadeIndexedSet0001)
AkadeIndexedSet0002 | Akade.IndexedSet.IndexNaming | Warning | IndexNamingRulesAnalyzer, [Documentation](https://github.com/akade/Akade.IndexedSet/tree/main/Akade.IndexedSet.Analyzers/Readme.md#AkadeIndexedSet0002)
AkadeIndexedSet0003 | Akade.IndexedSet.IndexNaming | Warning | IndexNamingRulesAnalyzer, [Documentation](https://github.com/akade/Akade.IndexedSet/tree/main/Akade.IndexedSet.Analyzers/Readme.md#AkadeIndexedSet0003)
AkadeIndexedSet0001 | Akade.IndexedSet.IndexNaming | Warning | IndexNamingRulesAnalyzer, [Documentation](https://github.com/akade/Akade.IndexedSet/tree/main/Analyzers/Readme.md#AkadeIndexedSet0001)
AkadeIndexedSet0002 | Akade.IndexedSet.IndexNaming | Warning | IndexNamingRulesAnalyzer, [Documentation](https://github.com/akade/Akade.IndexedSet/tree/main/Analyzers/Readme.md#AkadeIndexedSet0002)
AkadeIndexedSet0003 | Akade.IndexedSet.IndexNaming | Warning | IndexNamingRulesAnalyzer, [Documentation](https://github.com/akade/Akade.IndexedSet/tree/main/Analyzers/Readme.md#AkadeIndexedSet0003)
AkadeIndexedSet0004 | Akade.IndexedSet.ConcurrencyRules | Error | ConcurrentSetUsageAnalyzers, [Documentation](https://github.com/akade/Akade.IndexedSet/tree/main/Analyzers/Readme.md#AkadeIndexedSet0004)
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,3 @@

Rule ID | Category | Severity | Notes
--------|----------|----------|-------
AkadeIndexedSet0004 | Akade.IndexedSet.ConcurrencyRules | Error | ConcurrentSetUsageAnalyzers, [Documentation](https://github.com/akade/Akade.IndexedSet/tree/main/Akade.IndexedSet.Analyzers/Readme.md#AkadeIndexedSet0004)

0 comments on commit 21a1f7e

Please sign in to comment.