Skip to content

Commit

Permalink
Move recursive Range-Local operators to matching interface.
Browse files Browse the repository at this point in the history
  • Loading branch information
danielcweber committed Nov 22, 2023
1 parent 141b997 commit 70cb9cb
Show file tree
Hide file tree
Showing 6 changed files with 39 additions and 32 deletions.
8 changes: 4 additions & 4 deletions src/Core/Queries/GremlinQuery.explicit.cs
Original file line number Diff line number Diff line change
Expand Up @@ -460,12 +460,12 @@ TTargetQuery IGremlinQueryAdmin.AddStep<TTargetQuery>(Step step, Func<Projection

IOutEdgeGremlinQuery<TElement, TOutVertex> IEdgeGremlinQuery<TElement, TOutVertex, TInVertex>.AsOutEdge() => this;

IArrayGremlinQueryBase<TElement, TScalar, TFoldedQuery> IArrayGremlinQueryBase<TElement, TScalar, TFoldedQuery>.LimitLocal(long count) => LimitLocal(count);
IArrayGremlinQuery<TElement, TScalar, TFoldedQuery> IArrayGremlinQueryBaseRec<IArrayGremlinQuery<TElement, TScalar, TFoldedQuery>>.LimitLocal(long count) => LimitLocal(count);

IArrayGremlinQueryBase<TElement, TScalar, TFoldedQuery> IArrayGremlinQueryBase<TElement, TScalar, TFoldedQuery>.RangeLocal(long low, long high) => RangeLocal(low, high);
IArrayGremlinQuery<TElement, TScalar, TFoldedQuery> IArrayGremlinQueryBaseRec<IArrayGremlinQuery<TElement, TScalar, TFoldedQuery>>.RangeLocal(long low, long high) => RangeLocal(low, high);

IArrayGremlinQueryBase<TElement, TScalar, TFoldedQuery> IArrayGremlinQueryBase<TElement, TScalar, TFoldedQuery>.SkipLocal(long count) => Skip(count, Scope.Local);
IArrayGremlinQuery<TElement, TScalar, TFoldedQuery> IArrayGremlinQueryBaseRec<IArrayGremlinQuery<TElement, TScalar, TFoldedQuery>>.SkipLocal(long count) => Skip(count, Scope.Local);

IArrayGremlinQueryBase<TElement, TScalar, TFoldedQuery> IArrayGremlinQueryBase<TElement, TScalar, TFoldedQuery>.TailLocal(long count) => TailLocal(count);
IArrayGremlinQuery<TElement, TScalar, TFoldedQuery> IArrayGremlinQueryBaseRec<IArrayGremlinQuery<TElement, TScalar, TFoldedQuery>>.TailLocal(long count) => TailLocal(count);
}
}
15 changes: 7 additions & 8 deletions src/Core/Queries/Interfaces/IArrayGremlinQuery.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,13 @@ public interface IArrayGremlinQueryBase : IGremlinQueryBase
public interface IArrayGremlinQueryBaseRec<TSelf> : IArrayGremlinQueryBase, IGremlinQueryBaseRec<TSelf>
where TSelf : IArrayGremlinQueryBaseRec<TSelf>
{
TSelf LimitLocal(long count);

TSelf RangeLocal(long low, long high);

TSelf SkipLocal(long count);

TSelf TailLocal(long count);
}

public interface IArrayGremlinQueryBase<TArrayItem> : IArrayGremlinQueryBase
Expand Down Expand Up @@ -37,14 +44,6 @@ public interface IArrayGremlinQueryBase<TArray, TArrayItem, out TOriginalQuery>

TOriginalQuery MeanLocal();

IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery> LimitLocal(long count);

IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery> RangeLocal(long low, long high);

IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery> SkipLocal(long count);

IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery> TailLocal(long count);

new TOriginalQuery Unfold();

new IValueGremlinQuery<TArray> Lower();
Expand Down
12 changes: 7 additions & 5 deletions test/PublicApi.Tests/PublicApiTests.Core.Core3_1.verified.cs
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,13 @@ public interface IArrayGremlinQueryBase : ExRam.Gremlinq.Core.IGremlinQueryBase,
ExRam.Gremlinq.Core.IValueGremlinQuery<object> Unfold();
}
public interface IArrayGremlinQueryBaseRec<TSelf> : ExRam.Gremlinq.Core.IArrayGremlinQueryBase, ExRam.Gremlinq.Core.IGremlinQueryBase, ExRam.Gremlinq.Core.IGremlinQueryBaseRec<TSelf>, ExRam.Gremlinq.Core.IStartGremlinQuery
where TSelf : ExRam.Gremlinq.Core.IArrayGremlinQueryBaseRec<TSelf> { }
where TSelf : ExRam.Gremlinq.Core.IArrayGremlinQueryBaseRec<TSelf>
{
TSelf LimitLocal(long count);
TSelf RangeLocal(long low, long high);
TSelf SkipLocal(long count);
TSelf TailLocal(long count);
}
public interface IArrayGremlinQueryBase<TArrayItem> : ExRam.Gremlinq.Core.IArrayGremlinQueryBase, ExRam.Gremlinq.Core.IGremlinQueryBase, ExRam.Gremlinq.Core.IStartGremlinQuery
{
ExRam.Gremlinq.Core.IValueGremlinQuery<TArrayItem[]> Lower();
Expand All @@ -196,15 +202,11 @@ public interface IArrayGremlinQueryBase<TArray, TArrayItem> : ExRam.Gremlinq.Cor
}
public interface IArrayGremlinQueryBase<TArray, TArrayItem, out TOriginalQuery> : ExRam.Gremlinq.Core.IArrayGremlinQueryBase, ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArrayItem>, ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem>, ExRam.Gremlinq.Core.IGremlinQueryBase, ExRam.Gremlinq.Core.IGremlinQueryBase<TArray>, ExRam.Gremlinq.Core.IStartGremlinQuery
{
ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery> LimitLocal(long count);
new ExRam.Gremlinq.Core.IValueGremlinQuery<TArray> Lower();
TOriginalQuery MaxLocal();
TOriginalQuery MeanLocal();
TOriginalQuery MinLocal();
ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery> RangeLocal(long low, long high);
ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery> SkipLocal(long count);
TOriginalQuery SumLocal();
ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery> TailLocal(long count);
TOriginalQuery Unfold();
}
public interface IArrayGremlinQuery<TArray, TArrayItem, TOriginalQuery> : ExRam.Gremlinq.Core.IArrayGremlinQueryBase, ExRam.Gremlinq.Core.IArrayGremlinQueryBaseRec<ExRam.Gremlinq.Core.IArrayGremlinQuery<TArray, TArrayItem, TOriginalQuery>>, ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArrayItem>, ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem>, ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery>, ExRam.Gremlinq.Core.IGremlinQueryBase, ExRam.Gremlinq.Core.IGremlinQueryBaseRec<ExRam.Gremlinq.Core.IArrayGremlinQuery<TArray, TArrayItem, TOriginalQuery>>, ExRam.Gremlinq.Core.IGremlinQueryBaseRec<TArray, ExRam.Gremlinq.Core.IArrayGremlinQuery<TArray, TArrayItem, TOriginalQuery>>, ExRam.Gremlinq.Core.IGremlinQueryBase<TArray>, ExRam.Gremlinq.Core.IStartGremlinQuery { }
Expand Down
12 changes: 7 additions & 5 deletions test/PublicApi.Tests/PublicApiTests.Core.DotNet5_0.verified.cs
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,13 @@ public interface IArrayGremlinQueryBase : ExRam.Gremlinq.Core.IGremlinQueryBase,
ExRam.Gremlinq.Core.IValueGremlinQuery<object> Unfold();
}
public interface IArrayGremlinQueryBaseRec<TSelf> : ExRam.Gremlinq.Core.IArrayGremlinQueryBase, ExRam.Gremlinq.Core.IGremlinQueryBase, ExRam.Gremlinq.Core.IGremlinQueryBaseRec<TSelf>, ExRam.Gremlinq.Core.IStartGremlinQuery
where TSelf : ExRam.Gremlinq.Core.IArrayGremlinQueryBaseRec<TSelf> { }
where TSelf : ExRam.Gremlinq.Core.IArrayGremlinQueryBaseRec<TSelf>
{
TSelf LimitLocal(long count);
TSelf RangeLocal(long low, long high);
TSelf SkipLocal(long count);
TSelf TailLocal(long count);
}
public interface IArrayGremlinQueryBase<TArrayItem> : ExRam.Gremlinq.Core.IArrayGremlinQueryBase, ExRam.Gremlinq.Core.IGremlinQueryBase, ExRam.Gremlinq.Core.IStartGremlinQuery
{
ExRam.Gremlinq.Core.IValueGremlinQuery<TArrayItem[]> Lower();
Expand All @@ -196,15 +202,11 @@ public interface IArrayGremlinQueryBase<TArray, TArrayItem> : ExRam.Gremlinq.Cor
}
public interface IArrayGremlinQueryBase<TArray, TArrayItem, out TOriginalQuery> : ExRam.Gremlinq.Core.IArrayGremlinQueryBase, ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArrayItem>, ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem>, ExRam.Gremlinq.Core.IGremlinQueryBase, ExRam.Gremlinq.Core.IGremlinQueryBase<TArray>, ExRam.Gremlinq.Core.IStartGremlinQuery
{
ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery> LimitLocal(long count);
new ExRam.Gremlinq.Core.IValueGremlinQuery<TArray> Lower();
TOriginalQuery MaxLocal();
TOriginalQuery MeanLocal();
TOriginalQuery MinLocal();
ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery> RangeLocal(long low, long high);
ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery> SkipLocal(long count);
TOriginalQuery SumLocal();
ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery> TailLocal(long count);
TOriginalQuery Unfold();
}
public interface IArrayGremlinQuery<TArray, TArrayItem, TOriginalQuery> : ExRam.Gremlinq.Core.IArrayGremlinQueryBase, ExRam.Gremlinq.Core.IArrayGremlinQueryBaseRec<ExRam.Gremlinq.Core.IArrayGremlinQuery<TArray, TArrayItem, TOriginalQuery>>, ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArrayItem>, ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem>, ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery>, ExRam.Gremlinq.Core.IGremlinQueryBase, ExRam.Gremlinq.Core.IGremlinQueryBaseRec<ExRam.Gremlinq.Core.IArrayGremlinQuery<TArray, TArrayItem, TOriginalQuery>>, ExRam.Gremlinq.Core.IGremlinQueryBaseRec<TArray, ExRam.Gremlinq.Core.IArrayGremlinQuery<TArray, TArrayItem, TOriginalQuery>>, ExRam.Gremlinq.Core.IGremlinQueryBase<TArray>, ExRam.Gremlinq.Core.IStartGremlinQuery { }
Expand Down
12 changes: 7 additions & 5 deletions test/PublicApi.Tests/PublicApiTests.Core.DotNet6_0.verified.cs
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,13 @@ public interface IArrayGremlinQueryBase : ExRam.Gremlinq.Core.IGremlinQueryBase,
ExRam.Gremlinq.Core.IValueGremlinQuery<object> Unfold();
}
public interface IArrayGremlinQueryBaseRec<TSelf> : ExRam.Gremlinq.Core.IArrayGremlinQueryBase, ExRam.Gremlinq.Core.IGremlinQueryBase, ExRam.Gremlinq.Core.IGremlinQueryBaseRec<TSelf>, ExRam.Gremlinq.Core.IStartGremlinQuery
where TSelf : ExRam.Gremlinq.Core.IArrayGremlinQueryBaseRec<TSelf> { }
where TSelf : ExRam.Gremlinq.Core.IArrayGremlinQueryBaseRec<TSelf>
{
TSelf LimitLocal(long count);
TSelf RangeLocal(long low, long high);
TSelf SkipLocal(long count);
TSelf TailLocal(long count);
}
public interface IArrayGremlinQueryBase<TArrayItem> : ExRam.Gremlinq.Core.IArrayGremlinQueryBase, ExRam.Gremlinq.Core.IGremlinQueryBase, ExRam.Gremlinq.Core.IStartGremlinQuery
{
ExRam.Gremlinq.Core.IValueGremlinQuery<TArrayItem[]> Lower();
Expand All @@ -196,15 +202,11 @@ public interface IArrayGremlinQueryBase<TArray, TArrayItem> : ExRam.Gremlinq.Cor
}
public interface IArrayGremlinQueryBase<TArray, TArrayItem, out TOriginalQuery> : ExRam.Gremlinq.Core.IArrayGremlinQueryBase, ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArrayItem>, ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem>, ExRam.Gremlinq.Core.IGremlinQueryBase, ExRam.Gremlinq.Core.IGremlinQueryBase<TArray>, ExRam.Gremlinq.Core.IStartGremlinQuery
{
ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery> LimitLocal(long count);
new ExRam.Gremlinq.Core.IValueGremlinQuery<TArray> Lower();
TOriginalQuery MaxLocal();
TOriginalQuery MeanLocal();
TOriginalQuery MinLocal();
ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery> RangeLocal(long low, long high);
ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery> SkipLocal(long count);
TOriginalQuery SumLocal();
ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery> TailLocal(long count);
TOriginalQuery Unfold();
}
public interface IArrayGremlinQuery<TArray, TArrayItem, TOriginalQuery> : ExRam.Gremlinq.Core.IArrayGremlinQueryBase, ExRam.Gremlinq.Core.IArrayGremlinQueryBaseRec<ExRam.Gremlinq.Core.IArrayGremlinQuery<TArray, TArrayItem, TOriginalQuery>>, ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArrayItem>, ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem>, ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery>, ExRam.Gremlinq.Core.IGremlinQueryBase, ExRam.Gremlinq.Core.IGremlinQueryBaseRec<ExRam.Gremlinq.Core.IArrayGremlinQuery<TArray, TArrayItem, TOriginalQuery>>, ExRam.Gremlinq.Core.IGremlinQueryBaseRec<TArray, ExRam.Gremlinq.Core.IArrayGremlinQuery<TArray, TArrayItem, TOriginalQuery>>, ExRam.Gremlinq.Core.IGremlinQueryBase<TArray>, ExRam.Gremlinq.Core.IStartGremlinQuery { }
Expand Down
12 changes: 7 additions & 5 deletions test/PublicApi.Tests/PublicApiTests.Core.DotNet7_0.verified.cs
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,13 @@ public interface IArrayGremlinQueryBase : ExRam.Gremlinq.Core.IGremlinQueryBase,
ExRam.Gremlinq.Core.IValueGremlinQuery<object> Unfold();
}
public interface IArrayGremlinQueryBaseRec<TSelf> : ExRam.Gremlinq.Core.IArrayGremlinQueryBase, ExRam.Gremlinq.Core.IGremlinQueryBase, ExRam.Gremlinq.Core.IGremlinQueryBaseRec<TSelf>, ExRam.Gremlinq.Core.IStartGremlinQuery
where TSelf : ExRam.Gremlinq.Core.IArrayGremlinQueryBaseRec<TSelf> { }
where TSelf : ExRam.Gremlinq.Core.IArrayGremlinQueryBaseRec<TSelf>
{
TSelf LimitLocal(long count);
TSelf RangeLocal(long low, long high);
TSelf SkipLocal(long count);
TSelf TailLocal(long count);
}
public interface IArrayGremlinQueryBase<TArrayItem> : ExRam.Gremlinq.Core.IArrayGremlinQueryBase, ExRam.Gremlinq.Core.IGremlinQueryBase, ExRam.Gremlinq.Core.IStartGremlinQuery
{
ExRam.Gremlinq.Core.IValueGremlinQuery<TArrayItem[]> Lower();
Expand All @@ -196,15 +202,11 @@ public interface IArrayGremlinQueryBase<TArray, TArrayItem> : ExRam.Gremlinq.Cor
}
public interface IArrayGremlinQueryBase<TArray, TArrayItem, out TOriginalQuery> : ExRam.Gremlinq.Core.IArrayGremlinQueryBase, ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArrayItem>, ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem>, ExRam.Gremlinq.Core.IGremlinQueryBase, ExRam.Gremlinq.Core.IGremlinQueryBase<TArray>, ExRam.Gremlinq.Core.IStartGremlinQuery
{
ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery> LimitLocal(long count);
new ExRam.Gremlinq.Core.IValueGremlinQuery<TArray> Lower();
TOriginalQuery MaxLocal();
TOriginalQuery MeanLocal();
TOriginalQuery MinLocal();
ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery> RangeLocal(long low, long high);
ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery> SkipLocal(long count);
TOriginalQuery SumLocal();
ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery> TailLocal(long count);
TOriginalQuery Unfold();
}
public interface IArrayGremlinQuery<TArray, TArrayItem, TOriginalQuery> : ExRam.Gremlinq.Core.IArrayGremlinQueryBase, ExRam.Gremlinq.Core.IArrayGremlinQueryBaseRec<ExRam.Gremlinq.Core.IArrayGremlinQuery<TArray, TArrayItem, TOriginalQuery>>, ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArrayItem>, ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem>, ExRam.Gremlinq.Core.IArrayGremlinQueryBase<TArray, TArrayItem, TOriginalQuery>, ExRam.Gremlinq.Core.IGremlinQueryBase, ExRam.Gremlinq.Core.IGremlinQueryBaseRec<ExRam.Gremlinq.Core.IArrayGremlinQuery<TArray, TArrayItem, TOriginalQuery>>, ExRam.Gremlinq.Core.IGremlinQueryBaseRec<TArray, ExRam.Gremlinq.Core.IArrayGremlinQuery<TArray, TArrayItem, TOriginalQuery>>, ExRam.Gremlinq.Core.IGremlinQueryBase<TArray>, ExRam.Gremlinq.Core.IStartGremlinQuery { }
Expand Down

0 comments on commit 70cb9cb

Please sign in to comment.