/// <summary> /// Reads and converts the JSON to type <see cref="ApolloMessageType"/>. /// </summary> /// <param name="reader">The reader.</param> /// <param name="typeToConvert">The type to convert.</param> /// <param name="options">An object that specifies serialization options to use.</param> /// <returns>The converted value.</returns> public override ApolloMessageType Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { if (reader.TokenType != JsonTokenType.String) { throw new JsonException($"Expected {nameof(JsonTokenType.String)} but got {reader.TokenType.ToString()}"); } return(ApolloMessageTypeExtensions.FromString(reader.GetString())); }
/// <summary> /// Writes a specified value as JSON. /// </summary> /// <param name="writer">The writer to write to.</param> /// <param name="value">The value to convert to JSON.</param> /// <param name="options">An object that specifies serialization options to use.</param> public override void Write(Utf8JsonWriter writer, ApolloMessageType value, JsonSerializerOptions options) { writer.WriteStringValue(ApolloMessageTypeExtensions.Serialize(value)); }