Skip to content

Conversation

@LahaLuhem
Copy link

@LahaLuhem LahaLuhem commented Aug 5, 2025

Solution description

Convert a static class with string constants to an enum.

The static class has an exhaustive number of errors. At the moment, this means that a caller receives a String as the error and has manually match it using the key of the static class. Just using an enums solves this problem and also allows more effective pattern matching. The enum instead of static classes also allow it to be used directly in frameworks that require enums to directly define translations like slang.

Also fixes the differnce n behaviour when using with a locale that uses a , as a separator instead of a ..

Considerations

Enum field names match their previous key names. This would mean an easy migration by appending .name to the usage if it was being interpolated

To Do

  • Check the original issue to confirm it is fully satisfied
  • Add solution description to help guide reviewers
  • Add unit test to verify new or fixed behaviour
  • If apply, add documentation to code properties and package readme

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary of Changes

Hello @LahaLuhem, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request refactors the NumberValidatorError class by converting it from a static class containing string constants into a Dart enum. This change aims to improve type safety, readability, and maintainability when handling validation errors by leveraging Dart's built-in enum capabilities.

Highlights

  • Refactoring: Converted the NumberValidatorError static class, which previously held string constants for error types, into a Dart enum. This enhances type safety and provides a more idiomatic way to represent a fixed set of error values.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments or fill out our survey to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

The pull request converts the NumberValidatorError from a static class with string constants to an enum. This change improves code readability and maintainability by providing a more structured way to represent the different types of number validation errors.

@LahaLuhem LahaLuhem force-pushed the refactor/number-validation-error-enum branch from bcd84a5 to 73d6ca6 Compare August 6, 2025 09:52
@LahaLuhem LahaLuhem force-pushed the refactor/number-validation-error-enum branch from 73d6ca6 to a06c783 Compare August 6, 2025 10:10
@LahaLuhem LahaLuhem marked this pull request as ready for review August 6, 2025 11:23
@joanpablo
Copy link
Owner

This change appears to be incompatible for existing users, so I will include it in the next major version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants