mirror of
https://github.com/mjl-/mox.git
synced 2025-07-14 05:34:38 +03:00
webadmin: don't show runtime typecheck error for invalid values in dmarc and tls reports
several fields in dmarc and tls reports have known string values. we have a Go string type for them. sherpats (through sherpadoc) turns those strings into typescript enums, and sherpats generates runtime-typechecking code (to enforce correct types for incoming json, to prevent failing deeper in the code when we get invalid data (much harder to debug)). the Go not-really-enum types allow other values, and real-world reports have unknown/unspecified/invalid values. this uses the sherpadoc -rename flag to turn those enums into regular untyped strings, so sherpats doesn't generate enum-enforcing runtime type checking code. this required an update to sherpadoc, to properly handling renaming a type to a basic type instead of another named type. for issue #161 by RobSlgm, thanks for reporting!
This commit is contained in:
3
vendor/github.com/mjl-/sherpadoc/cmd/sherpadoc/parse.go
generated
vendored
3
vendor/github.com/mjl-/sherpadoc/cmd/sherpadoc/parse.go
generated
vendored
@ -186,6 +186,9 @@ func parseSection(t *doc.Type, pp *parsedPackage) *section {
|
||||
func ensureNamedType(t *doc.Type, sec *section, pp *parsedPackage) (name string) {
|
||||
if s, ok := renames[renameSrc{pp.Pkg.Name, t.Name}]; ok {
|
||||
name = s
|
||||
if sherpadoc.IsBasicType(s) {
|
||||
return
|
||||
}
|
||||
} else {
|
||||
name = t.Name
|
||||
}
|
||||
|
Reference in New Issue
Block a user