Comments (2)
I'm against this as I'd like to see Gson whither away in a slow death. It's blown its complexity and API budget for continued tolerance and historical baggage makes change nearly impossible.
However, this should be trivial as the Moshi APIs currently used by this project were modeled from the best parts of Gson.
I would think it'd go something like this:
- Rename
@JsonSerializable
to something library-specific (prefix withMoshi
or@MoshiJsonAdapter
or@GenerateJsonAdapter
or whatever). - Renamed
@KotshiJsonAdapterFactory
in a similar fashion. - Introduce Gson variants of those two annotations.
- Refactor the processing steps to use an enum which contains various information like:
- A
ClassName
for the adapter and factory. - A
ClassName
for theJsonReader
andJsonWriter
. - Strings for the various method names.
- A
The generated logic is 99% shared and the enum provides the differently named bits depending on which annotation is present.
from kotshi.
I agree, I don't think it should be done too. I haven't had any requests for it so I think it could probably be skipped.
from kotshi.
Related Issues (20)
- invalid code in xxxJsonAdapter generated with @JsonSerializable HOT 1
- Unable to build project with Jetifier enabled (2.0.2) HOT 1
- Investigate support for inline classes HOT 1
- all of the objects have one companion object in ram ?!!?! HOT 3
- Migrate to KSP
- Implementation documentation or sample app? HOT 5
- Kotlin 1.5 borked HOT 3
- Generated annotation not found when compiling against Java 11 HOT 10
- Alternative annotation for custom names HOT 9
- v2.9.0: Excess code generated in adapters (Kapt) HOT 4
- Possible race condition in KSP factory generation HOT 12
- 2.10.0 KSP generates non-compilable classes when nullable field with same name as class and default value HOT 4
- 2.10.1 KSP generated adapters have trouble with generic typealiases when there is a default value HOT 3
- Serialisation issue is sallowed HOT 2
- Unresolved reference: KotshiAppJsonAdapterFactory HOT 2
- KotshiApplicationJsonAdapterFactory does not have a companion object HOT 6
- Usage with JVM 11 HOT 3
- Backend Internal error HOT 5
- [Intermittent] No JsonAdapter is getting created for random response classes after migrating to ksp from kapt HOT 4
- KSP: Failed to analyze class HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kotshi.