Loyal-Young opened a new pull request, #6439: URL: https://github.com/apache/rocketmq-dashboard/pull/6439
### Which Issue(s) This PR Fixes Fixes #6437 ### Brief Description Preserve `json.Number` values as numeric YAML scalar nodes instead of converting through float64 when int64 parsing fails. This avoids rounding large integers and precise decimals, turning tiny exponents into zero, or emitting large exponent literals as strings. Nested maps/lists are still copied; invalid manually constructed json.Number values keep the existing string fallback. This extends the earlier int64 precision fix. The existing `9007199254740993` case already fits signed int64 and continues to pass. ### How Did You Test This Change? - Go 1.27.1 `go test ./internal/output/ -count=1 -v`: all 5 test functions passed, including 6 new numeric-literal subcases. - All 6 added subcases failed before the fix. Tests decode a response with UseNumber, write YAML, parse it as yaml.Node, and check exact digits, numeric tags, and unchanged input. - `go vet ./internal/output/`: passed. - `gofmt` on changed files and `git diff --check`: passed. No live Studio request, race suite, or cross-platform build was run. A downstream YAML consumer still needs an appropriate numeric representation to retain arbitrary precision when decoding into its own objects. ### Checklist - [x] One coherent bug fix, regression test ending in `Test` - [x] Conventional Commit subject; no new source files or UI strings ### AI Assistance AI assistance was used to trace JSON/YAML conversions, draft the fix and round-trip regression cases, and execute the listed Go checks. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
