-
Notifications
You must be signed in to change notification settings - Fork 108
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for arbitrary, valid decimal numbers #147
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This also switches the parser to just use the new JsonNumber.fromString method to obtain a JsonNumber. This method will return either a JsonLong if the value is a long or a JsonLazyDecimal otherwise.
This adds a `normalized` method to JsonDecimal which allows us to compare JsonDecimals for *numeric* equality, even though we cannot represent them as BigDecimal, in general.
This is required to get the tests passing again.
This adds more docs and descriptive names for numeric conversions to JsonNumber. It also adds prisms for more numbers types.
…umber-funk Conflicts: .gitignore src/main/scala/argonaut/Json.scala src/test/scala/argonaut/PrettyParamsSpecification.scala
seanparsons
added a commit
that referenced
this pull request
Dec 7, 2014
Add support for arbitrary, valid decimal numbers
Closed
This was referenced Dec 18, 2014
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is basicall PR #140 with some additional cleanup/commits. PR #140 got rebased with master and the commits squashed and I was having trouble cherry-picking some additional commits onto it so I'm just submitting a new PR. Also, the squash meant I lost authorship on some commits, which I'd prefer to keep if possible.
Aside from the stuff in #140, this adds:
to*
methods totuncateTo*
to reflect behaviour,safe*
methods toto*
methods,asJsonDecimal
private due to safety issues around NaN and Infinity,@seanparsons I believe this should take care of your concerns regarding the numeric conversions.
I merged in the the latest commit I could find in master that compiled and not master itself. I think this should merge cleanly with master now.