From df0dc254c3467ae4fc8c26239b800def3f4e4f42 Mon Sep 17 00:00:00 2001 From: Elara Musayelyan Date: Sat, 7 Jan 2023 14:54:04 -0800 Subject: [PATCH] Add special case for 'Crud', and transform enum and struct type names --- cmd/gen/parser/struct.go | 6 ++++- types/lib.2.gen.go | 58 ++++++++++++++++++++-------------------- types/types.go | 13 +++------ 3 files changed, 37 insertions(+), 40 deletions(-) diff --git a/cmd/gen/parser/struct.go b/cmd/gen/parser/struct.go index d9469d5..2c70d4e 100644 --- a/cmd/gen/parser/struct.go +++ b/cmd/gen/parser/struct.go @@ -71,6 +71,7 @@ func (s *StructParser) Parse() ([]Item, error) { if slices.Contains(s.Skip, structName) { continue } + structName = s.TransformName(structName) // If the line ends with "}", this is a struct with no fields if strings.HasSuffix(line, "}\n") { @@ -97,8 +98,9 @@ func (s *StructParser) Parse() ([]Item, error) { enumName := enumRegex.FindStringSubmatch(line)[1] if slices.Contains(s.Skip, enumName) { continue - } + enumName = s.TransformName(enumName) + members, err := s.parseEnumMemebers() if err != nil { return nil, err @@ -233,6 +235,8 @@ func TransformTypeGo(t string) string { func TransformNameGo(s string) string { out := "" + s = strings.ReplaceAll(s, "Crud", "CRUD") + splitName := strings.Split(s, "_") for _, segment := range splitName { switch segment { diff --git a/types/lib.2.gen.go b/types/lib.2.gen.go index f8e9796..308ff43 100644 --- a/types/lib.2.gen.go +++ b/types/lib.2.gen.go @@ -58,35 +58,35 @@ const ( UserOperationBlockPerson UserOperation = "BlockPerson" ) -type UserOperationCrud string +type UserOperationCRUD string const ( - UserOperationCrudCreateSite UserOperationCrud = "CreateSite" - UserOperationCrudGetSite UserOperationCrud = "GetSite" - UserOperationCrudEditSite UserOperationCrud = "EditSite" - UserOperationCrudCreateCommunity UserOperationCrud = "CreateCommunity" - UserOperationCrudListCommunities UserOperationCrud = "ListCommunities" - UserOperationCrudGetCommunity UserOperationCrud = "GetCommunity" - UserOperationCrudEditCommunity UserOperationCrud = "EditCommunity" - UserOperationCrudDeleteCommunity UserOperationCrud = "DeleteCommunity" - UserOperationCrudRemoveCommunity UserOperationCrud = "RemoveCommunity" - UserOperationCrudCreatePost UserOperationCrud = "CreatePost" - UserOperationCrudGetPost UserOperationCrud = "GetPost" - UserOperationCrudGetPosts UserOperationCrud = "GetPosts" - UserOperationCrudEditPost UserOperationCrud = "EditPost" - UserOperationCrudDeletePost UserOperationCrud = "DeletePost" - UserOperationCrudRemovePost UserOperationCrud = "RemovePost" - UserOperationCrudCreateComment UserOperationCrud = "CreateComment" - UserOperationCrudGetComment UserOperationCrud = "GetComment" - UserOperationCrudGetComments UserOperationCrud = "GetComments" - UserOperationCrudEditComment UserOperationCrud = "EditComment" - UserOperationCrudDeleteComment UserOperationCrud = "DeleteComment" - UserOperationCrudRemoveComment UserOperationCrud = "RemoveComment" - UserOperationCrudRegister UserOperationCrud = "Register" - UserOperationCrudGetPersonDetails UserOperationCrud = "GetPersonDetails" - UserOperationCrudDeleteAccount UserOperationCrud = "DeleteAccount" - UserOperationCrudCreatePrivateMessage UserOperationCrud = "CreatePrivateMessage" - UserOperationCrudGetPrivateMessages UserOperationCrud = "GetPrivateMessages" - UserOperationCrudEditPrivateMessage UserOperationCrud = "EditPrivateMessage" - UserOperationCrudDeletePrivateMessage UserOperationCrud = "DeletePrivateMessage" + UserOperationCRUDCreateSite UserOperationCRUD = "CreateSite" + UserOperationCRUDGetSite UserOperationCRUD = "GetSite" + UserOperationCRUDEditSite UserOperationCRUD = "EditSite" + UserOperationCRUDCreateCommunity UserOperationCRUD = "CreateCommunity" + UserOperationCRUDListCommunities UserOperationCRUD = "ListCommunities" + UserOperationCRUDGetCommunity UserOperationCRUD = "GetCommunity" + UserOperationCRUDEditCommunity UserOperationCRUD = "EditCommunity" + UserOperationCRUDDeleteCommunity UserOperationCRUD = "DeleteCommunity" + UserOperationCRUDRemoveCommunity UserOperationCRUD = "RemoveCommunity" + UserOperationCRUDCreatePost UserOperationCRUD = "CreatePost" + UserOperationCRUDGetPost UserOperationCRUD = "GetPost" + UserOperationCRUDGetPosts UserOperationCRUD = "GetPosts" + UserOperationCRUDEditPost UserOperationCRUD = "EditPost" + UserOperationCRUDDeletePost UserOperationCRUD = "DeletePost" + UserOperationCRUDRemovePost UserOperationCRUD = "RemovePost" + UserOperationCRUDCreateComment UserOperationCRUD = "CreateComment" + UserOperationCRUDGetComment UserOperationCRUD = "GetComment" + UserOperationCRUDGetComments UserOperationCRUD = "GetComments" + UserOperationCRUDEditComment UserOperationCRUD = "EditComment" + UserOperationCRUDDeleteComment UserOperationCRUD = "DeleteComment" + UserOperationCRUDRemoveComment UserOperationCRUD = "RemoveComment" + UserOperationCRUDRegister UserOperationCRUD = "Register" + UserOperationCRUDGetPersonDetails UserOperationCRUD = "GetPersonDetails" + UserOperationCRUDDeleteAccount UserOperationCRUD = "DeleteAccount" + UserOperationCRUDCreatePrivateMessage UserOperationCRUD = "CreatePrivateMessage" + UserOperationCRUDGetPrivateMessages UserOperationCRUD = "GetPrivateMessages" + UserOperationCRUDEditPrivateMessage UserOperationCRUD = "EditPrivateMessage" + UserOperationCRUDDeletePrivateMessage UserOperationCRUD = "DeletePrivateMessage" ) diff --git a/types/types.go b/types/types.go index 812e417..98228ce 100644 --- a/types/types.go +++ b/types/types.go @@ -61,15 +61,8 @@ type LemmyWebSocketMsg struct { // IsOneOf checks if the message is one of the given operations. func (msg LemmyWebSocketMsg) IsOneOf(ops ...Operation) bool { for _, op := range ops { - switch op := op.(type) { - case UserOperation: - if string(op) == msg.Op { - return true - } - case UserOperationCrud: - if string(op) == msg.Op { - return true - } + if op.Operation() == msg.Op { + return true } } return false @@ -83,6 +76,6 @@ func (u UserOperation) Operation() string { return string(u) } -func (u UserOperationCrud) Operation() string { +func (u UserOperationCRUD) Operation() string { return string(u) }