Skip to content

benpate/rosetta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rosetta 🌹

GoDoc Version Build Status Go Report Card Codecov

A Collection of Data Mapping Tools

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

  • 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
  • Schema validation based on JSON Schema
  • Slice manipulation library

Enhanced Data Types

  • List parsing library
  • MapOf data type with type safe getters/setters
  • Null-able data types
  • SliceOf data types

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! 🌹