Commit Graph

311 Commits

Author SHA1 Message Date
Eric Cochran
448a2d3298 Treat negative zero as a number, not a long. (#285)
Updates logic from https://github.com/google/gson/issues/1053
2017-04-20 17:22:06 -05:00
Jesse Wilson
81bbe870f1 KotlinJsonAdapter (#281)
* Add kotlin-module with support for Kotlin data classes

* Naming and style changes to KotlinJsonAdapter.

Biggest changes:

 * Attempt to support regular classes and data classes
 * Avoid parameter hashing when indexing is sufficient for
   constructor parameters
2017-04-18 23:51:37 -04:00
Jesse Wilson
8c18caf574 Add a test to confirm types are canonicalized. (#278)
Obsoletes https://github.com/square/moshi/pull/129/files
2017-04-16 12:15:53 -04:00
Eric Cochran
11dbc3c50b Fix @ToJson IAE message. (#275) 2017-03-28 05:57:53 -04:00
Eric Cochran
718f832864 Allow easy delegates in adapter methods. (#272) 2017-03-27 21:48:19 -04:00
Eric Cochran
1b634bbb74 Update adapter methods ISE message. (#273) 2017-03-27 19:25:31 -04:00
Jake Wharton
05b0a46961 Add error-prone compiler. (#259)
* Fix error-prone warning

* Add error-prone compiler.

* Suppress warning about calling getClass() on annotation.
2017-02-14 22:28:24 -05:00
jwilson
49092ece96 [maven-release-plugin] prepare for next development iteration 2017-02-04 15:20:11 -05:00
jwilson
d075a3e56a [maven-release-plugin] prepare release moshi-parent-1.4.0 2017-02-04 15:20:05 -05:00
Eric Cochran
332adcadf5 Add JsonReader.readJsonValue 2017-02-03 20:29:59 -08:00
jwilson
5ea65a5f95 Fix a typo in the name of JsonUtf8Writer. 2017-02-03 13:02:18 -05:00
jwilson
e9d8538ec3 Rename toJsonObject() to toJsonValue(), fromJsonObject() to fromJsonValue().
Also rename the JsonReader and JsonWriter implementations.
2017-02-02 21:28:38 -05:00
Jesse Wilson
3af58f4a43 Merge pull request #245 from NightlyNexus/eric/platform-fields
Fix isPlatformType
2017-02-02 09:10:45 -05:00
jwilson
fdaecb9fb8 Use BigDecimal to encode exotic number types.
Previously we'd retain whatever types the caller passed in. This was
potentially problematic for non-immutable numeric types like AtomicInteger.
2017-02-02 08:27:07 -05:00
Eric Cochran
9420b6493c Fix isPlatformType
createFieldBindings should not take the allowed platform types into
account.
2017-02-01 18:37:44 -08:00
Jesse Wilson
3c23da50cf Merge pull request #242 from NightlyNexus/eric/nextAnnotations
Add Types.nextAnnotations
2017-01-31 21:08:14 -05:00
Eric Cochran
9417cd8207 Add tests for duplicate JSON keys 2017-01-31 14:44:17 -08:00
Eric Cochran
05b594a26c Add Types.nextAnnotations 2017-01-31 11:18:13 -08:00
Eric Cochran
6a2981108f Add arrayOf, subtypeOf, supertypeOf tests 2017-01-30 23:03:20 -08:00
Jesse Wilson
ed164fd806 Merge pull request #235 from NightlyNexus/master
Improve error message for qualified platform types
2017-01-30 20:56:34 -05:00
Jesse Wilson
14a430cb58 Merge pull request #237 from NightlyNexus/patch-1
Add Types.createJsonQualifierImplementation
2017-01-30 20:55:00 -05:00
Eric Cochran
d27eaa161a Add adapter(Type, Class<? extends Annotation>) 2017-01-30 11:19:40 -08:00
jwilson
75b549f1ff Implement promoteValueToName() for ObjectJsonWriter.
This was renamed from promoteNameToValue(). Also run the test on both types of
codecs and fix some implementation issues that uncovered.
2017-01-29 22:47:59 -05:00
jwilson
b338d1e7ed New JsonAdapter.serializeNulls() method.
This makes it possible to force nulls into the document without
much fuss.
2017-01-29 22:18:12 -05:00
Eric Cochran
99c1cd0ffd Improve error message for qualified platform types 2017-01-28 16:47:22 -08:00
Jesse Wilson
99479682ba Merge pull request #233 from square/jwilson.0124.promote_stacks
Promote stack management to the JsonReader/JsonWriter supertypes.
2017-01-25 22:26:30 -05:00
jwilson
4b7ced70e4 Promote stack management to the JsonReader/JsonWriter supertypes.
It turns out that we can reuse a lot of code with inheritance. Who knew?
2017-01-25 22:25:19 -05:00
jwilson
e54b023991 New APIs: JsonAdapter.toJsonObject, fromJsonObject.
https://github.com/square/moshi/issues/89
2017-01-24 22:11:31 -05:00
jwilson
5ca491fe50 Implement ObjectJsonWriter.
https://github.com/square/moshi/issues/89
2017-01-23 20:46:35 -05:00
Jake Wharton
3f06c0cf55 Merge pull request #228 from square/jwilson.0122.json_writer_tests
Prepare tests for a 2nd implementation of JsonWriter.
2017-01-23 17:32:44 -05:00
Serj Lotutovici
ed6c3a66b0 ObjectJsonReader.typeMismatch should return not throw. 2017-01-23 00:12:11 +01:00
Jesse Wilson
050b9affbc Merge pull request #230 from serj-lotutovici/sl/no_loop_if_buf
Avoid calling source.select() if the value is buffered.
2017-01-22 18:00:21 -05:00
Serj Lotutovici
ddf2489910 Avoid calling source.select() if the value is buffered. 2017-01-22 23:35:02 +01:00
Serj Lotutovici
5904b9ce8b Class and Enum adapters now rely only on Options. 2017-01-22 23:08:52 +01:00
Jesse Wilson
db30df146f Merge pull request #217 from serj-lotutovici/sl/make_options_public
Make JsonReader.selectName and JsonReader.selectString public.
2017-01-22 16:30:13 -05:00
Serj Lotutovici
89f4527466 Make JsonReader.selectName and JsonReader.selectString public.
* Make JsonReader.Options public by extent.
* Both select methods now stip out unnecessary escaping.
* Re-order tests for select methods.
2017-01-22 22:06:45 +01:00
jwilson
94ff4b7cc2 Prepare tests for a 2nd implementation of JsonWriter. 2017-01-22 15:07:45 -05:00
Serj Lotutovici
c69049661b Make JsonReaderFactory implement toString(). 2017-01-22 09:36:24 +01:00
jwilson
aa9125bb81 Fix some bugs and increase tests for ObjectJsonReader.
https://github.com/square/moshi/issues/89
2017-01-21 23:06:16 -05:00
Jesse Wilson
bc73b075f5 Merge pull request #222 from square/jwilson.0117.object_json_reader
First step of a JsonReader that reads a DOM.
2017-01-21 05:12:16 -08:00
jwilson
1be3e84733 First step of a JsonReader that reads a DOM.
https://github.com/square/moshi/issues/89
2017-01-21 05:12:03 -08:00
Eric Cochran
fb3e9e8b47 Fix null 2017-01-17 18:13:44 -08:00
Eric Cochran
a16323db02 Disallow Moshi.Builder.add(null) 2017-01-17 17:51:04 -08:00
Serj Lotutovici
38a06b080d Fix Long parsing for big values. 2017-01-16 13:47:29 -05:00
Jesse Wilson
f667733ec7 Merge pull request #219 from serj-lotutovici/sl/to_string
Make ArrayJsonAdapter implement toString().
2017-01-16 13:26:46 -05:00
jmfayard
176e9d0685 Moshi.Builder#setPrettyPrinting + failing test 2017-01-16 13:25:57 -05:00
Serj Lotutovici
0ccc746db5 Make ArrayJsonAdapter implement toString(). 2016-12-28 20:03:12 +01:00
jwilson
4c973d1aef Adapter methods get nulls if they accept JsonReader/JsonWriter.
https://gist.github.com/SteinerOk/82f90fb570ef9ad35e2833ee96747939
2016-10-23 10:57:19 -04:00
jwilson
e1809aa6f9 [maven-release-plugin] prepare for next development iteration 2016-10-21 09:35:13 -04:00
jwilson
6d623663cb [maven-release-plugin] prepare release moshi-parent-1.3.1 2016-10-21 09:35:10 -04:00