Skip to content

Commit

Permalink
Allow null values in bindings.
Browse files Browse the repository at this point in the history
  • Loading branch information
danielcweber committed Aug 17, 2024
1 parent 4e468d0 commit b7331c7
Show file tree
Hide file tree
Showing 6 changed files with 17 additions and 17 deletions.
8 changes: 4 additions & 4 deletions src/Core/SerializedQueries/GroovyGremlinScript.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ namespace ExRam.Gremlinq.Core.Serialization
public readonly struct GroovyGremlinScript
{
private readonly string? _script;
private readonly ImmutableDictionary<string, object>? _bindings;
private readonly ImmutableDictionary<string, object?>? _bindings;

[Obsolete($"Use {nameof(GroovyGremlinScript)}({nameof(String)}, {nameof(ImmutableDictionary<string, object>)}) constructor instead.")]
public GroovyGremlinScript(string script, IReadOnlyDictionary<string, object> bindings) : this(script, bindings.ToImmutableDictionary())
public GroovyGremlinScript(string script, IReadOnlyDictionary<string, object?> bindings) : this(script, bindings.ToImmutableDictionary())
{
}

Check warning on line 15 in src/Core/SerializedQueries/GroovyGremlinScript.cs

View check run for this annotation

Codecov / codecov/patch

src/Core/SerializedQueries/GroovyGremlinScript.cs#L15

Added line #L15 was not covered by tests

public GroovyGremlinScript(string script, ImmutableDictionary<string, object> bindings)
public GroovyGremlinScript(string script, ImmutableDictionary<string, object?> bindings)
{
_script = script;
_bindings = bindings;
Expand All @@ -24,6 +24,6 @@ public GroovyGremlinScript(string script, ImmutableDictionary<string, object> bi

public string Script => _script ?? throw UninitializedStruct();

public ImmutableDictionary<string, object> Bindings => _bindings ?? throw UninitializedStruct();
public ImmutableDictionary<string, object?> Bindings => _bindings ?? throw UninitializedStruct();
}
}
4 changes: 2 additions & 2 deletions src/Core/SerializedQueries/GroovyWriter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ public static GroovyGremlinScript ToGroovyScript(Bytecode bytecode, IGremlinQuer
return new GroovyGremlinScript(
stringBuilder.ToString(),
includeBindings
? bindings.ToImmutableDictionary(static kvp => (string)kvp.Value, static kvp => kvp.Key)
: ImmutableDictionary<string, object>.Empty);
? bindings.ToImmutableDictionary(static kvp => (string)kvp.Value, static kvp => (object?)kvp.Key)
: ImmutableDictionary<string, object?>.Empty);
}

private GroovyWriter Append(
Expand Down
4 changes: 2 additions & 2 deletions src/Providers.Core/Extensions/RequestMessageExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ internal static class RequestMessageExtensions
{
return new GroovyGremlinScript(
script,
includeBindings && requestMessage.Arguments.TryGetValue(Tokens.ArgsBindings, out var bindingsObject) && bindingsObject is IReadOnlyDictionary<string, object> bindings
includeBindings && requestMessage.Arguments.TryGetValue(Tokens.ArgsBindings, out var bindingsObject) && bindingsObject is IReadOnlyDictionary<string, object?> bindings
? bindings.ToImmutableDictionary()
: ImmutableDictionary<string, object>.Empty);
: ImmutableDictionary<string, object?>.Empty);

Check warning on line 29 in src/Providers.Core/Extensions/RequestMessageExtensions.cs

View check run for this annotation

Codecov / codecov/patch

src/Providers.Core/Extensions/RequestMessageExtensions.cs#L27-L29

Added lines #L27 - L29 were not covered by tests
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1576,9 +1576,9 @@ public static ExRam.Gremlinq.Core.Serialization.GroovyExpression From(string ide
public readonly struct GroovyGremlinScript
{
[System.Obsolete("Use GroovyGremlinScript(String, ImmutableDictionary) constructor instead.")]
public GroovyGremlinScript(string script, System.Collections.Generic.IReadOnlyDictionary<string, object> bindings) { }
public GroovyGremlinScript(string script, System.Collections.Immutable.ImmutableDictionary<string, object> bindings) { }
public System.Collections.Immutable.ImmutableDictionary<string, object> Bindings { get; }
public GroovyGremlinScript(string script, System.Collections.Generic.IReadOnlyDictionary<string, object?> bindings) { }
public GroovyGremlinScript(string script, System.Collections.Immutable.ImmutableDictionary<string, object?> bindings) { }
public System.Collections.Immutable.ImmutableDictionary<string, object?> Bindings { get; }
public string Script { get; }
public override string ToString() { }
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1576,9 +1576,9 @@ public static ExRam.Gremlinq.Core.Serialization.GroovyExpression From(string ide
public readonly struct GroovyGremlinScript
{
[System.Obsolete("Use GroovyGremlinScript(String, ImmutableDictionary) constructor instead.")]
public GroovyGremlinScript(string script, System.Collections.Generic.IReadOnlyDictionary<string, object> bindings) { }
public GroovyGremlinScript(string script, System.Collections.Immutable.ImmutableDictionary<string, object> bindings) { }
public System.Collections.Immutable.ImmutableDictionary<string, object> Bindings { get; }
public GroovyGremlinScript(string script, System.Collections.Generic.IReadOnlyDictionary<string, object?> bindings) { }
public GroovyGremlinScript(string script, System.Collections.Immutable.ImmutableDictionary<string, object?> bindings) { }
public System.Collections.Immutable.ImmutableDictionary<string, object?> Bindings { get; }
public string Script { get; }
public override string ToString() { }
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1576,9 +1576,9 @@ public static ExRam.Gremlinq.Core.Serialization.GroovyExpression From(string ide
public readonly struct GroovyGremlinScript
{
[System.Obsolete("Use GroovyGremlinScript(String, ImmutableDictionary) constructor instead.")]
public GroovyGremlinScript(string script, System.Collections.Generic.IReadOnlyDictionary<string, object> bindings) { }
public GroovyGremlinScript(string script, System.Collections.Immutable.ImmutableDictionary<string, object> bindings) { }
public System.Collections.Immutable.ImmutableDictionary<string, object> Bindings { get; }
public GroovyGremlinScript(string script, System.Collections.Generic.IReadOnlyDictionary<string, object?> bindings) { }
public GroovyGremlinScript(string script, System.Collections.Immutable.ImmutableDictionary<string, object?> bindings) { }
public System.Collections.Immutable.ImmutableDictionary<string, object?> Bindings { get; }
public string Script { get; }
public override string ToString() { }
}
Expand Down

0 comments on commit b7331c7

Please sign in to comment.