Rosetta combines several different data manipulation tools into a single module. While each was useful on its own, the dependencies between them made updates hellish, so this collection was born.
Many of these packages pre-date Go generics, and many are being refactored to take advantage of this new capability.
- Channel tools for manipulating Go channels
- Compare values of unknown data types.
- Convert between arbitrary data types with sensible, configurable defaults.
- HTML conversion tools
- Iterator tools for iterating over data structures
- Maps tools for working with map types
- Schema validation based on JSON Schema
- Slice manipulation library
- Translate data mapping library
- Loose types (
Int64,String,Template) that accept whatever a remote system or a hand-written file actually sends - List parsing library
- MapOf data type with type safe getters/setters
- Null-able data types
- SliceOf data types
漏 The Trustees of the British Museum. Shared under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) licence.
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! 馃尮
