Rosetta 💐
Rosetta combines several different data mapping tools into a single module. While each was useful on its own, the dependencies between them made updates hellish, so this collection was born.
All of these packages pre-date Go generics, and many are being refactored to take advantage of this new capability.
What's Included
- Convert between arbitrary data types with sensible, configurable defaults.
- Compare values of unknown data types.
- HTML conversion tools
- Nullable values with strong type
- Path getter/setter for generic, complex data structures
- Schema validation based on JSON Schema
Enhanced Data Types
- List parsing library
- Map data type with type safe getters/setters
- Null-able data types
- Slice manipulation library
Pull Requests Welcome
While many parts of this module have been used for years in production environments, it is still a work in progress and will benefit from your experience reports, use cases, and contributions. If you have an idea for making Rosetta better, send in a pull request. We're all in this together! 👍