feat: simplify key-valuer and adds 100% coverage#6
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR simplifies the KeyValuer interface by removing its String() method and refactors with.go for clearer function-name handling.
- Drops
String()fromKeyValuerand updates callers to usestringify. - Introduces
funcNameWithLineNumberhelper and cleans upisAnonymousFunction. - Updates formatter to call
stringify(kv.Value())instead ofkv.String().
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| with.go | Extracted and optimized function-name-with-line helper; refactored anonymous check |
| kv.go | Removed String() from interface and internal stringer; switched to fmt.Stringer |
| formatter.go | Replaced kv.String() with stringify(kv.Value()) in output |
Comments suppressed due to low confidence (2)
with.go:78
- The new helper
funcNameWithLineNumberand the updatedisAnonymousFunctionlogic aren’t covered by existing tests; consider adding unit tests to validate both normal and anonymous function name formatting.
func funcNameWithLineNumber(funcName string, line int) string {
with.go:68
- [nitpick] The comment describes only the dot-containing case but omits the behavior when no dot is found; consider updating it to fully explain both branches.
// It does this by checking if the function name contains a dot (.) and starts with "func" after the last dot.
9b85bbc to
f842566
Compare
Removes Stringer interface from the key-valuer interface. Refactors with.go to remove an escaping param and better readability. Adds 100% test coverage and fixes some minor issues when looping over nil key-values.
f842566 to
e1d1cfa
Compare
xico42
approved these changes
Jun 20, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Removes Stringer interface from the key-valuer interface.
Refactors with.go to remove an escaping param and better readability.
Adds 100% test coverage and fixes some minor issues when looping over
nil key-values.