Skip to content
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 16 commits into from
Dec 7, 2014

Conversation

tixxit
Copy link
Contributor

@tixxit tixxit commented Dec 6, 2014

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:

  • bug fix in 0 handling of JsonDecimal,
  • change to* methods to tuncateTo* to reflect behaviour,
  • change safe* methods to to* methods,
  • make asJsonDecimal private due to safety issues around NaN and Infinity,
  • prisms for Byte, Short, Long, BigInt, and BigDecimal, and
  • add a bunch of ScalaDoc.

@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.

runarorama and others added 16 commits September 23, 2014 22:18
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
@seanparsons seanparsons merged commit 66f15a1 into argonaut-io:master Dec 7, 2014
@seanparsons seanparsons mentioned this pull request Dec 7, 2014
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.

3 participants