-
Notifications
You must be signed in to change notification settings - Fork 241
refactor: replace interface{} with any for clarity and modernization #2829
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: promalert <[email protected]>
Summary of ChangesHello @promalert, 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 modernizes the Go codebase by adopting the Highlights
Using Gemini Code AssistThe 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 by creating a comment using either
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 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. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. 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
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request modernizes the codebase by replacing interface{} with its alias any, which was introduced in Go 1.18. The changes are straightforward and correctly applied across the modified files. I've added one suggestion in block/internal/submitting/da_submitter.go to simplify the logic for initializing the options map, which should improve readability and maintainability. Otherwise, the changes look good.
| var optionsMap map[string]any | ||
|
|
||
| // If base options are provided, try to parse them as JSON | ||
| if len(baseOptions) > 0 { | ||
| // Try to unmarshal existing options, ignoring errors for non-JSON input | ||
| if err := json.Unmarshal(baseOptions, &optionsMap); err != nil { | ||
| // Not valid JSON - start with empty map | ||
| optionsMap = make(map[string]interface{}) | ||
| optionsMap = make(map[string]any) | ||
| } | ||
| } | ||
|
|
||
| // Ensure map is initialized even if unmarshal returned nil | ||
| if optionsMap == nil { | ||
| optionsMap = make(map[string]interface{}) | ||
| optionsMap = make(map[string]any) | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The logic for initializing optionsMap can be simplified to improve readability. The current implementation has two separate blocks for initializing the map, which can be consolidated into a more straightforward sequence.
var optionsMap map[string]any
if len(baseOptions) > 0 {
// Attempt to unmarshal existing options. We can ignore the error,
// as we'll create a new map if it fails or if the JSON is `null`.
_ = json.Unmarshal(baseOptions, &optionsMap)
}
if optionsMap == nil {
optionsMap = make(map[string]any)
}
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2829 +/- ##
=======================================
Coverage 64.64% 64.64%
=======================================
Files 81 81
Lines 7224 7224
=======================================
Hits 4670 4670
Misses 2014 2014
Partials 540 540
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…2829) <!-- Please read and fill out this form before submitting your PR. Please make sure you have reviewed our contributors guide before submitting your first PR. NOTE: PR titles should follow semantic commits: https://www.conventionalcommits.org/en/v1.0.0/ --> ## Overview <!-- Please provide an explanation of the PR, including the appropriate context, background, goal, and rationale. If there is an issue with this information, please provide a tl;dr and link the issue. Ex: Closes #<issue number> --> Inspired by #2781 and replace all. This change replaces occurrences of interface{} with the predeclared identifier any, introduced in Go 1.18 as an alias for interface{}. As noted in the [Go 1.18 Release Notes](https://go.dev/doc/go1.18#language): This improves readability and aligns the codebase with modern Go conventions. Signed-off-by: promalert <[email protected]>
* main: build(deps): Bump golangci/golangci-lint-action from 8.0.0 to 9.0.0 (#2826) build(deps): Bump actions/github-script from 7 to 8 (#2827) refactor: replace interface{} with any for clarity and modernization (#2829) add note on full node for evm (#2825) chore: docker workflow refactor (#2820) docs: add version notice warning about pre-v1 releases (#2824)
Overview
Inspired by #2781 and replace all.
This change replaces occurrences of interface{} with the predeclared identifier any, introduced in Go 1.18 as an alias for interface{}.
As noted in the Go 1.18 Release Notes:
This improves readability and aligns the codebase with modern Go conventions.