Minimal Go library for currency-aware money values.

5 Open Issues Need Help Last updated: Sep 21, 2025

Open Issues Need Help

View All on GitHub

AI Summary: The `Decimal()` function currently overflows when attempting to compute the absolute value of `math.MinInt64` by negating it. This issue aims to update `Decimal()` to safely handle `math.MinInt64` without overflow, likely by using `uint64` for magnitude calculation or division/modulo on the negative value. New internal tests will be added to verify correct formatting for this edge case.

Complexity: 2/5
bug good first issue

Minimal Go library for currency-aware money values.

Go

AI Summary: This issue proposes adding new benchmark tests for the `Decimal()` and `Format()` functions. The benchmarks should measure performance across various currencies (USD, GBP, EUR, JPY) and include negative values to establish a performance baseline and prevent regressions. The task involves creating a new `bench_test.go` file with table-driven benchmark functions.

Complexity: 2/5
enhancement good first issue

Minimal Go library for currency-aware money values.

Go

AI Summary: This GitHub issue proposes enhancing the project's README.md by adding common project badges, such as CI status, Go Reference, Go Report Card (optional), and license. Additionally, it requires a new "Versioning" section to clarify that the project follows Semantic Versioning (SemVer) and outlines stability expectations for its exported API. The primary goal is to improve project clarity and set user expectations.

Complexity: 1/5
documentation good first issue

Minimal Go library for currency-aware money values.

Go

AI Summary: This enhancement proposes adding `IsCurrencyMismatch(err)` and `CurrencyMismatchDetails(err)` helper functions to simplify the detection and extraction of details from `CurrencyMismatchError` instances. The goal is to improve code ergonomics by reducing boilerplate `errors.As` calls. Implementation involves adding these functions and their unit tests, plus updating the README's error handling snippet.

Complexity: 1/5
enhancement good first issue

Minimal Go library for currency-aware money values.

Go

AI Summary: This issue requests adding an `init()` function in `currency.go` to validate that all currencies listed in `SupportedCurrencies` have their fractional digits (c.Digit()) within the supported range of 0 to 3. The purpose is to catch unsupported digit configurations early, preventing runtime panics. A brief note in the README about supported fractional digits is also required.

Complexity: 1/5
enhancement good first issue

Minimal Go library for currency-aware money values.

Go