Skip to content

Conversation

@kasiabulat
Copy link
Owner

@kasiabulat kasiabulat commented Jul 18, 2019

I added following transforming API (and accompanying scenarios):

  • DeepCopy method in JsonElement allowing to change JsonElement and JsonDocument into JsonNode recursively transforming all of the elements
  • AsJsonElement method in JsonNode allowing to change JsonNode into JsonElement with IsImmutable property set to false
  • IsImmutable property informing if JsonElement is keeping JsonDocument or JsonNode underneath
  • Parse(string) in JsonNode to be able to parse Json string right into JsonNode if user knows he/she wants mutable version
  • DeepCopy in JsonNode to make a copy of the whole tree
  • GetNode and TryGetNode in JsonNode allowing to retrieve it from JsonElement

Issues addressed from previous PR:

  • I added Sort method to JsonArray and accompanying scenarios
  • From ArrayList methods I considered only LastIndexOf useful and consistent with IndexOf, but I still need to write scenarios for both

Still open question from previous PR:

  • Do we want to add recursive equals to JsonArray and JsonObject?

cc: @joperezr @bartonjs @ericstj @ahsonkhan @terrajobst

@kasiabulat
Copy link
Owner Author

I will add more tests in subsequent PR.

@kasiabulat kasiabulat merged commit 0f7df28 into master Jul 19, 2019
@kasiabulat kasiabulat deleted the JsonPrototype branch July 19, 2019 22:21
kasiabulat added a commit that referenced this pull request Jul 29, 2019
* transformation API added
* assertions to existing scenarios added
@kasiabulat
Copy link
Owner Author

I created the issue for my project: https://github.com/dotnet/corefx/issues/39922

kasiabulat added a commit that referenced this pull request Aug 9, 2019
* Json prototype (#1)

Basic API for Json writable DOM with scenarios including collection initialization, accessing and modifying Json nodes.

* Json prototype - transformation API  (#2)

* transformation API added
* assertions to existing scenarios added

* Json prototype (#1)

Basic API for Json writable DOM with scenarios including collection initialization, accessing and modifying Json nodes.

* Json prototype - transformation API  (#2)

* transformation API added
* assertions to existing scenarios added

* JsonNumber implementation and tests (#3)

* IEquatables added
* JsonNumber implementation and unit tests added
* pragmas deleted
* review comments included, more tests added
* decimal support added to JsonNumber
* decimal support added to JsonArray and JsonObject

* all unimplemented classes and methods with accompanying tests removed

* First part of documentation added

* documentation completed

* missing exceptions added

* JsonElement changes removed

* part of the review comments included

* work on review comments

* code refactor

* more decimal tests added using MemberData

* more decimal tests added using MemberData

* more test cases added

* equals summary adjusted, equals tests added

* more Equals tests added, GetHashCode tests added, minor changes

* scientifing notation support added, rational numbers tests fixes

* rational overflow tests added

* ulong maxvalue tests added to rational types

* presision problems fixes

* exception strings fixed

* CI failing fixes (hopefully), review comments included

* missing == tests added to achieve 100% branch coverage

* review comments included

* trailing whitespaces fixes

* equals comments added

* equals object refactored to call quals json number

* merge fix
ahsonkhan pushed a commit that referenced this pull request Nov 13, 2019
This is attempt #2. The first attempt was commit
176da26.

Initialize HostArch to the arch-style used in RIDs directly by
converting things to lowercase.

Use the HostArch for the tool runtime instead of assuming x64.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants