rosetta

module
v0.25.31 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 27, 2026 License: Apache-2.0

README

Rosetta 🌹

GoDoc Version Build Status Go Report Card Codecov

A Collection of Translation and Data Manipulation Tools

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.

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
  • Maps tools for working with map types
  • Schema validation based on JSON Schema
  • Slice manipulation library
  • Translate data mapping library
Enhanced Data Types
  • List parsing library
  • MapOf data type with type safe getters/setters
  • Null-able data types
  • SliceOf data types

Image Used With Permission

© The Trustees of the British Museum. Shared under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) licence.

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

Directories

Path Synopsis
Package convert provides a number of functions to convert values from one type into another type.
Package convert provides a number of functions to convert values from one type into another type.
Package first provides utility functions to return the first non-empty value from a list of values
Package first provides utility functions to return the first non-empty value from a list of values
Package funcmap provides a set of functions to be used in templates.
Package funcmap provides a set of functions to be used in templates.
Package maps provides utility functions for working with maps in Go
Package maps provides utility functions for working with maps in Go
Package pointer provides utility functions for creating pointers in Go
Package pointer provides utility functions for creating pointers in Go
Package ranges provides utility functions for working with iter.Seq ranges
Package ranges provides utility functions for working with iter.Seq ranges
Package schema provides tools for defining, validating, and manipulating JSON-Schema-like structures in Go.
Package schema provides tools for defining, validating, and manipulating JSON-Schema-like structures in Go.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL