Commit Graph

390 Commits

Author SHA1 Message Date
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
jwilson
b0e11ebb1c Don't reject escaped forward slashes.
Closes: https://github.com/square/moshi/issues/209
2016-10-20 21:34:22 -04:00
jwilson
4ff50c47ac [maven-release-plugin] prepare for next development iteration 2016-10-15 14:18:34 -04:00
jwilson
71ded8d091 [maven-release-plugin] prepare release moshi-parent-1.3.0 2016-10-15 14:18:31 -04:00
Jesse Wilson
e54fa3c31a Merge pull request #202 from square/jwilson.1015.deep
Limit to 31 levels of nested structure.
2016-10-15 13:57:33 -04:00
jwilson
d8743eeef1 Limit to 31 levels of nested structure.
With the implicit enclosing document this is 32 levels total. The limit
is arbitrary but sufficient - deeper limits yield code that fails with
StackOverflowExceptions during the depth-first traversal.

We were previously broken in JsonWriter on this - the code we added to
support path building was accessing the top of the stack before the
stack had been resized, causing a crash. Because this crash has existed
forever without much outcry we know the limit is likely sufficient for
our existing users.

Closes: https://github.com/square/moshi/issues/189
2016-10-15 13:54:48 -04:00
jwilson
2b5301f737 Fix enclosed types with adapter methods.
This was broken becase reflection was providing owner types but our
API didn't have a way to specify them.

Closes: https://github.com/square/moshi/issues/148
2016-10-15 10:03:01 -04:00
jwilson
d6b982629d Test more cases of injecting JsonAdapters. 2016-10-14 08:30:25 -04:00
Jesse Wilson
c56370257e Merge pull request #197 from square/jwilson.1013.json_adapter_parameters
Permit JsonAdapters to be injected in toJson(), fromJson() methods.
2016-10-14 08:11:16 -04:00
jwilson
afbaa6a8ef Permit JsonAdapters to be injected in toJson(), fromJson() methods.
Closes: https://github.com/square/moshi/issues/142
2016-10-14 08:05:32 -04:00
Jake Wharton
059e8ef286 Merge pull request #198 from square/jwilson.1013.standard_prefixes
Omit Kotlin and Scala platform types from the class adapter.
2016-10-13 22:16:39 -04:00
jwilson
6df7fa4dd5 Don't link to Google's internal bugtracker.
Closes: https://github.com/square/moshi/issues/122
2016-10-13 22:09:19 -04:00
jwilson
10703aae65 Omit Kotlin and Scala platform types from the class adapter.
It's unlikely that these will be stable, or that they'll do anything reasonable.

Closes: https://github.com/square/moshi/issues/185
2016-10-13 22:06:45 -04:00
Jake Wharton
47972ba577 Differentiate encoding problems with a specific exception. 2016-07-08 21:19:55 -04:00
Jake Wharton
d5c646f93e Propagate adapter method exception cause. 2016-06-06 01:48:03 -04:00
Jake Wharton
a9d73f27d8 Merge pull request #166 from square/jwilson.0602.invalid_escapes
Fail on invalid escapes.
2016-06-02 10:12:59 -04:00
jwilson
14549725ef Fail on invalid escapes.
Related to https://github.com/google/gson/issues/824
2016-06-02 09:31:32 -04:00
SatoShun
067077822d Add Override annotation 2016-05-29 02:16:41 +00:00
jwilson
23e6d36a8b [maven-release-plugin] prepare for next development iteration 2016-05-28 14:27:08 -04:00
jwilson
5f0e509b8d [maven-release-plugin] prepare release moshi-parent-1.2.0 2016-05-28 14:27:04 -04:00
Jake Wharton
c4896fdaed Merge pull request #160 from square/jwilson.0502_okio180
Upgrade to Okio 1.8.0.
2016-05-02 01:34:48 -04:00
jwilson
3477c4d743 Upgrade to Okio 1.8.0. 2016-05-02 00:48:36 -04:00