public override object ParseLiteral(GraphQLValue value) { return(value switch { GraphQLStringValue s => Convert.FromBase64String((string)s.Value), // string conversion for NET48 _ => throw new NotSupportedException() });
public void string_encodes_control_characters() { var sample = new string(Enumerable.Range(0, 256).Select(x => (char)x).ToArray()); var ret = new GraphQLStringValue(sample).Print(); foreach (char c in ret) { c.ShouldBeGreaterThanOrEqualTo(' '); } var deserialized = System.Text.Json.JsonSerializer.Deserialize <string>(ret); deserialized.ShouldBe(sample); var token = GraphQLParser.Lexer.Lex(ret); token.Kind.ShouldBe(GraphQLParser.TokenKind.STRING); token.Value.ShouldBe(sample); }