public async Task InvokeAsync(IMiddlewareContext context) { DelegateDirective delegateDirective = context.Field .Directives[DirectiveNames.Delegate] .FirstOrDefault()?.ToObject <DelegateDirective>(); if (delegateDirective != null) { IImmutableStack <SelectionPathComponent> path = delegateDirective.Path is null ? ImmutableStack <SelectionPathComponent> .Empty : SelectionPathParser.Parse(delegateDirective.Path); IReadOnlyQueryRequest request = CreateQuery(context, delegateDirective.Schema, path); IReadOnlyQueryResult result = await ExecuteQueryAsync( context, request, delegateDirective.Schema) .ConfigureAwait(false); UpdateContextData(context, result, delegateDirective); context.Result = new SerializedData( ExtractData(result.Data, path.Count())); ReportErrors(context, result.Errors); } await _next.Invoke(context).ConfigureAwait(false); }
public static void ReadPrimitiveIImmutableStackT() { IImmutableStack <int> result = JsonSerializer.Parse <IImmutableStack <int> >(Encoding.UTF8.GetBytes(@"[1,2]")); int expected = 2; foreach (int i in result) { Assert.Equal(expected--, i); } result = JsonSerializer.Parse <IImmutableStack <int> >(Encoding.UTF8.GetBytes(@"[]")); Assert.Equal(0, result.Count()); }
public void DeserializeStackInterface() { string json = @"[ ""One"", ""II"", ""3"" ]"; IImmutableStack <string> l = JsonConvert.DeserializeObject <IImmutableStack <string> >(json); Assert.AreEqual(3, l.Count()); Assert.AreEqual("3", l.ElementAt(0)); Assert.AreEqual("II", l.ElementAt(1)); Assert.AreEqual("One", l.ElementAt(2)); }
public static void ReadPrimitiveIImmutableStackT() { IImmutableStack <int> result = JsonSerializer.Deserialize <IImmutableStack <int> >(Encoding.UTF8.GetBytes(@"[1,2]")); int expected = 2; foreach (int i in result) { Assert.Equal(expected--, i); } result = JsonSerializer.Deserialize <IImmutableStack <int> >(Encoding.UTF8.GetBytes(@"[]")); Assert.Equal(0, result.Count()); Assert.Throws <JsonException>(() => JsonSerializer.Deserialize <StringIImmutableStackWrapper>(@"[""1"",""2""]")); Assert.Throws <JsonException>(() => JsonSerializer.Deserialize <StringIImmutableStackWrapper>(@"[]")); }
public async Task ReadPrimitiveIImmutableStackT() { IImmutableStack <int> result = await JsonSerializerWrapperForString.DeserializeWrapper <IImmutableStack <int> >(@"[1,2]"); int expected = 2; foreach (int i in result) { Assert.Equal(expected--, i); } result = await JsonSerializerWrapperForString.DeserializeWrapper <IImmutableStack <int> >(@"[]"); Assert.Equal(0, result.Count()); await Assert.ThrowsAsync <NotSupportedException>(async() => await JsonSerializerWrapperForString.DeserializeWrapper <StringIImmutableStackWrapper>(@"[""1"",""2""]")); await Assert.ThrowsAsync <NotSupportedException>(async() => await JsonSerializerWrapperForString.DeserializeWrapper <StringIImmutableStackWrapper>(@"[]")); }