Open Issues Need Help
View All on GitHubAI 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.
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.
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.
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.
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.