Skip to content

Commit

Permalink
omit private fields (#36)
Browse files Browse the repository at this point in the history
  • Loading branch information
whwalter authored Mar 19, 2024
1 parent d12d7a1 commit a1bb23c
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 0 deletions.
6 changes: 6 additions & 0 deletions pkg/generators/builder/member.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package builder
import (
"github.com/kanopy-platform/code-generator/pkg/generators/tags"
log "github.com/sirupsen/logrus"
"k8s.io/gengo/namer"
"k8s.io/gengo/types"
)

Expand All @@ -17,6 +18,11 @@ func includeMember(parent *types.Type, member types.Member) bool {
return false
}

if namer.IsPrivateGoName(member.Name) {
log.Debugf("\t member %v is private", member.Name)
return false
}

switch parent.Name.Name {
case ObjectMeta:
log.Debug("\t member has ObjectMeta")
Expand Down
7 changes: 7 additions & 0 deletions pkg/generators/builder/member_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,13 @@ func TestIncludeMember(t *testing.T) {
member: "ReadOnlyLowerCase",
want: false,
},
{
description: "should not include private member",
dir: "d/e",
typeSelector: "MockPolicyRule",
member: "privateField",
want: false,
},
}

for _, test := range tests {
Expand Down
2 changes: 2 additions & 0 deletions pkg/generators/builder/testdata/d/e/e.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ type MockPolicyRule struct {
ListOfInts []int
AliasType *AliasToString
ToggleAliasWithoutRef *AnotherAlias
privateField PrivateField
}

type PrivateField struct{}
type AliasToString string
type AnotherAlias string

0 comments on commit a1bb23c

Please sign in to comment.