rosetta

module
v0.34.0 Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2026 License: Apache-2.0

README

Rosetta 🌹

Go Reference 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 channel provides utility functions for working with Go channels
Package channel provides utility functions for working with Go channels
Package compare provides functions for comparing values of arbitrary types
Package compare provides functions for comparing values of arbitrary types
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 delta provides collection types that track their own additions and deletions
Package delta provides collection types that track their own additions and deletions
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 html provides helpers for converting between HTML and plain text, sanitizing HTML, and extracting summaries from HTML documents.
Package html provides helpers for converting between HTML and plain text, sanitizing HTML, and extracting summaries from HTML documents.
Package iterator defines a legacy interface for iterating over collections of items
Package iterator defines a legacy interface for iterating over collections of items
Package list provides functions for parsing and manipulating delimited strings as lists
Package list provides functions for parsing and manipulating delimited strings as lists
Package mapof provides generic string-keyed map types with typed values and helper methods
Package mapof provides generic string-keyed map types with typed values and helper methods
Package maps provides utility functions for working with maps in Go
Package maps provides utility functions for working with maps in Go
Package null provides nullable wrappers around Go primitive types
Package null provides nullable wrappers around Go primitive types
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.
format
Package format provides validation functions for the string formats used by the schema package
Package format provides validation functions for the string formats used by the schema package
Package slice provides generic utility functions for working with slices
Package slice provides generic utility functions for working with slices
Package sliceof provides generic slice types with helper methods
Package sliceof provides generic slice types with helper methods
Package translate provides a rule-based pipeline for transforming data structures
Package translate provides a rule-based pipeline for transforming data structures

Jump to

Keyboard shortcuts

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