Writable JSON API changes (dotnet/corefx#40673)
authorKatarzyna Bułat <t-kabul@microsoft.com>
Mon, 9 Sep 2019 21:53:38 +0000 (14:53 -0700)
committerGitHub <noreply@github.com>
Mon, 9 Sep 2019 21:53:38 +0000 (14:53 -0700)
commit45c74fe7bf347fbc284c363a41626e7e07ea55ca
tree25c0f4a06ec5b805da4f2aaadd566d563b10500d
parent87f8e501372c49adca69ea9918713dcd7683ffcb
Writable JSON API changes (dotnet/corefx#40673)

* implicit operators moved to JsonNode
* JsonNull introduced
* JsonObject rewritten to use JsonObjectProperty
* JsonElement.ObjectEnumerator changed to use _current instead of _enumerator
* iterative DeepCopy implemented
* code reorganized
* parse implemented
* JsonDocumentOptions added to JsonNode.Parse
* WriteTo and ToJsonString added
* specification adjusted
* string comparison added
* JsosReadonlyDomWriteTests reused
* code coverage improved
* minor other fixes
* review comments included

Commit migrated from https://github.com/dotnet/corefx/commit/37b37395481b635c15eaa3454e52b72ab91de4ef
34 files changed:
src/libraries/System.Text.Json/docs/writable_json_dom_spec.md
src/libraries/System.Text.Json/ref/System.Text.Json.cs
src/libraries/System.Text.Json/src/Resources/Strings.resx
src/libraries/System.Text.Json/src/System.Text.Json.csproj
src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonElement.ArrayEnumerator.cs
src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonElement.ObjectEnumerator.cs
src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonElement.cs
src/libraries/System.Text.Json/src/System/Text/Json/Node/JsonArray.cs
src/libraries/System.Text.Json/src/System/Text/Json/Node/JsonArrayEnumerator.cs
src/libraries/System.Text.Json/src/System/Text/Json/Node/JsonBoolean.cs
src/libraries/System.Text.Json/src/System/Text/Json/Node/JsonNode.Traversal.cs [new file with mode: 0644]
src/libraries/System.Text.Json/src/System/Text/Json/Node/JsonNode.TraversalHelpers.cs [new file with mode: 0644]
src/libraries/System.Text.Json/src/System/Text/Json/Node/JsonNode.cs
src/libraries/System.Text.Json/src/System/Text/Json/Node/JsonNull.cs [new file with mode: 0644]
src/libraries/System.Text.Json/src/System/Text/Json/Node/JsonNumber.cs
src/libraries/System.Text.Json/src/System/Text/Json/Node/JsonObject.cs
src/libraries/System.Text.Json/src/System/Text/Json/Node/JsonObjectEnumerator.cs
src/libraries/System.Text.Json/src/System/Text/Json/Node/JsonObjectProperty.cs [new file with mode: 0644]
src/libraries/System.Text.Json/src/System/Text/Json/Node/JsonString.cs
src/libraries/System.Text.Json/tests/JsonArrayTests.cs
src/libraries/System.Text.Json/tests/JsonBooleanTests.cs
src/libraries/System.Text.Json/tests/JsonElementWithNodeParentTests.cs [new file with mode: 0644]
src/libraries/System.Text.Json/tests/JsonElementWriteTests.cs
src/libraries/System.Text.Json/tests/JsonNode.AsJsonElementTests.cs [moved from src/libraries/System.Text.Json/tests/JsonNodeToJsonElementTests.cs with 67% similarity]
src/libraries/System.Text.Json/tests/JsonNode.CloneTests.cs [new file with mode: 0644]
src/libraries/System.Text.Json/tests/JsonNode.TraversalTests.cs [new file with mode: 0644]
src/libraries/System.Text.Json/tests/JsonNodeCloneTests.cs [deleted file]
src/libraries/System.Text.Json/tests/JsonNodeParseTests.cs [deleted file]
src/libraries/System.Text.Json/tests/JsonNodeTestData.cs
src/libraries/System.Text.Json/tests/JsonNullTests.cs [new file with mode: 0644]
src/libraries/System.Text.Json/tests/JsonNumberTests.cs
src/libraries/System.Text.Json/tests/JsonObjectTests.cs
src/libraries/System.Text.Json/tests/JsonStringTests.cs
src/libraries/System.Text.Json/tests/System.Text.Json.Tests.csproj