diff --git a/CHANGELOG.md b/CHANGELOG.md
index 240c251..9f1288b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -41,8 +41,6 @@ To have a consistent experience across all packages, some public interfaces have
### Added
-- **request.validation:** Support `PropertyPath` JSON converter for string values and dictionary property names
-
### Changed
### Removed
diff --git a/Directory.Build.props b/Directory.Build.props
index 86d2794..aec0af3 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -9,8 +9,7 @@
- 2.1.0
- preview
+ 2.0.0
diff --git a/src/request.validation.tests/PropertyPathTests.cs b/src/request.validation.tests/PropertyPathTests.cs
index 2551450..bce4614 100644
--- a/src/request.validation.tests/PropertyPathTests.cs
+++ b/src/request.validation.tests/PropertyPathTests.cs
@@ -12,19 +12,6 @@ internal sealed class PropertyPathTests
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
};
- private static readonly JsonSerializerOptions CamelCaseDictionaryKeyJsonOptions = new()
- {
- DictionaryKeyPolicy = JsonNamingPolicy.CamelCase,
- };
-
- [Test]
- public async Task I_can_serialize_property_paths_as_json_strings_using_the_json_naming_policy()
- {
- var json = JsonSerializer.Serialize((PropertyPath)"Address.Street", CamelCaseJsonOptions);
-
- await Assert.That(json).IsEqualTo(/*lang=json,strict*/ "\"address.street\"");
- }
-
[Test]
public async Task I_can_serialize_property_paths_using_the_json_naming_policy()
{
@@ -67,32 +54,6 @@ internal sealed class PropertyPathTests
await Assert.That(json).IsEqualTo(/*lang=json,strict*/ """{"propertyPath":"matrix[1][2].value","severity":0,"message":"Value is required.","code":null,"attemptedValue":null}""");
}
- [Test]
- public async Task I_can_serialize_property_paths_as_dictionary_keys_using_the_dictionary_key_policy()
- {
- Dictionary errors = new()
- {
- ["Address.Street"] = "Street is required.",
- };
-
- var json = JsonSerializer.Serialize(errors, CamelCaseDictionaryKeyJsonOptions);
-
- await Assert.That(json).IsEqualTo(/*lang=json,strict*/ """{"address.street":"Street is required."}""");
- }
-
- [Test]
- public async Task I_can_deserialize_property_paths_from_dictionary_keys()
- {
- var json = /*lang=json,strict*/ """{"Address.Street":"Street is required."}""";
-
- var errors = JsonSerializer.Deserialize>(json);
-
- await Assert.That(errors).IsNotNull();
- await Assert.That(errors!.Count).IsEqualTo(1);
- await Assert.That(errors.ContainsKey("Address.Street")).IsTrue();
- await Assert.That(errors["Address.Street"]).IsEqualTo("Street is required.");
- }
-
[Test]
public async Task I_can_iterate_and_index_segments()
{
diff --git a/src/request.validation/PropertyPath.cs b/src/request.validation/PropertyPath.cs
index 4b9bd50..4bf0e62 100644
--- a/src/request.validation/PropertyPath.cs
+++ b/src/request.validation/PropertyPath.cs
@@ -399,26 +399,9 @@ internal sealed class PropertyPathJsonConverter : JsonConverter
throw new JsonException($"Expected {nameof(JsonTokenType.String)} but got {reader.TokenType}.");
}
- ///
- public override PropertyPath ReadAsPropertyName(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
- {
- if (reader.TokenType is JsonTokenType.PropertyName)
- {
- return new PropertyPath(reader.GetString()!);
- }
-
- throw new JsonException($"Expected {nameof(JsonTokenType.PropertyName)} but got {reader.TokenType}.");
- }
-
///
public override void Write(Utf8JsonWriter writer, PropertyPath value, JsonSerializerOptions options)
{
writer.WriteStringValue(value.ToJsonName(options.PropertyNamingPolicy));
}
-
- ///
- public override void WriteAsPropertyName(Utf8JsonWriter writer, PropertyPath value, JsonSerializerOptions options)
- {
- writer.WritePropertyName(value.ToJsonName(options.DictionaryKeyPolicy));
- }
}