Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wisp-forest/endec
A format-agnostic serialization framework
https://github.com/wisp-forest/endec
Last synced: about 2 months ago
JSON representation
A format-agnostic serialization framework
- Host: GitHub
- URL: https://github.com/wisp-forest/endec
- Owner: wisp-forest
- License: mit
- Created: 2024-02-28T22:25:15.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-10-25T22:32:56.000Z (3 months ago)
- Last Synced: 2024-10-26T10:56:18.371Z (3 months ago)
- Language: Java
- Homepage:
- Size: 331 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Endec
endec is a format-agnostic serialization framework inspired by Rust's [serde](https://serde.rs) library and the Codec API from Mojang's [DataFixerUpper](https://github.com/mojang/datafixerupper).
This repository contains the Java implementation. The reference implementation (written in Dart) can be found [here](https://github.com/gliscowo/endec.dart).
### Repository Structure
This project contains 3 submodules with the root src containing the core `endec` package which defines the API and contains some base implementations. The nested modules are as follows:
- `gson`: Support for Json language using the [Gson](https://github.com/google/gson) Library
- `jankson`: Support for Json/Json5 language using the [Jankson](https://github.com/falkreon/Jankson) Library
- `netty`: Support for the binary format using the [Netty](https://github.com/netty/netty) Library### Documentation
For the time being, documentation can be found in the owo section of the [Wisp Forest docs](https://docs.wispforest.io/owo/endec). The linked document adequately explains the basics but is out-of-date - it will be updated in the future
### Acknowledgements
The excellent serde documentation and [enjarai's](https://enjarai.dev) Codec guide [on the Fabric Docs](https://docs.fabricmc.net/develop/codecs) have been invaluable during development. Further, [glisco](https://github.com/gliscowo) is responsible for developing the reference implementation