INNER CODE UNIT · Go
resourceStemFromFilename
nginx/nginx-gateway-fabric · apis/policygen.go:63
func resourceStemFromFilename(fileName string) string {
base := strings.TrimSuffix(fileName, filepath.Ext(fileName))
return strings.ToLower(strings.TrimSuffix(base, "_types"))
}
// structTypes returns every top-level struct declared in f, keyed by name.
func structTypes(f *ast.File) map[string]*ast.StructType {
types := make(map[string]*ast.StructType)
for _, decl := range f.Decls {
genDecl, ok := decl.(*ast.GenDecl)
if !ok || genDecl.Tok != token.TYPE {
continue
}
for _, spec := range genDecl.Specs {
typeSpec, ok := spec.(*ast.TypeSpec)
if !ok {