Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/benpate/rosetta
Data Mapping Tools
https://github.com/benpate/rosetta
Last synced: 3 months ago
JSON representation
Data Mapping Tools
- Host: GitHub
- URL: https://github.com/benpate/rosetta
- Owner: benpate
- License: apache-2.0
- Created: 2022-06-20T18:27:52.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-25T23:40:50.000Z (3 months ago)
- Last Synced: 2024-10-26T23:46:54.604Z (3 months ago)
- Language: Go
- Size: 1.16 MB
- Stars: 7
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Rosetta 🌹
[![GoDoc](https://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](http://pkg.go.dev/github.com/benpate/rosetta)
[![Version](https://img.shields.io/github/v/release/benpate/rosetta?include_prereleases&style=flat-square&color=brightgreen)](https://github.com/benpate/rosetta/releases)
[![Build Status](https://img.shields.io/github/actions/workflow/status/benpate/rosetta/go.yml?branch=main&style=flat-square)](https://github.com/benpate/rosetta/actions/workflows/go.yml)
[![Go Report Card](https://goreportcard.com/badge/github.com/benpate/rosetta?style=flat-square)](https://goreportcard.com/report/github.com/benpate/rosetta)
[![Codecov](https://img.shields.io/codecov/c/github/benpate/rosetta.svg?style=flat-square)](https://codecov.io/gh/benpate/rosetta)## 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](https://github.com/benpate/rosetta/tree/main/channel) tools for manipulating Go channels
* [Compare](https://github.com/benpate/rosetta/tree/main/compare) values of unknown data types.
* [Convert](https://github.com/benpate/rosetta/tree/main/convert) between arbitrary data types with sensible, configurable defaults.
* [HTML](https://github.com/benpate/rosetta/tree/main/html) conversion tools
* [Iterator](https://github.com/benpate/rosetta/tree/main/iterator) tools for iterating over data structures
* [Maps](https://github.com/benpate/rosetta/tree/main/maps) tools for working with map types
* [Schema](https://github.com/benpate/rosetta/tree/main/schema) validation based on JSON Schema
* [Slice](https://github.com/benpate/rosetta/tree/main/slice) manipulation library
* [Translate](https://github.com/benpate/rosetta/tree/main/translate) data mapping library### Enhanced Data Types
* [List](https://github.com/benpate/rosetta/tree/main/list) parsing library
* [MapOf](https://github.com/benpate/rosetta/tree/main/mapof) data type with type safe getters/setters
* [Null](https://github.com/benpate/rosetta/tree/main/null)-able data types
* [SliceOf](https://github.com/benpate/rosetta/tree/main/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](http://creativecommons.org/licenses/by-nc-sa/4.0/).
## 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! 🌹