Documentation
¶
Index ¶
- func ApplyEnums(w io.Writer, opts Opts, enums []*protogen.Enum) error
- func ApplyMessages(w io.Writer, opts Opts, msgs []*protogen.Message) error
- func ApplyTSEnums(w io.Writer, opts TSOpts, enums []*protogen.Enum) error
- func ApplyTemplate(f *protogen.GeneratedFile, opts Opts, enums []*protogen.Enum, ...) error
- func ApplyTemplateTS(f *protogen.GeneratedFile, opts TSOpts, fileEnumInfos []FileEnumInfo) error
- func CreateEnumDescription(en *protogen.Enum, args Opts) *api.EnumDescription
- func CreateMessageDescription(msg *protogen.Message, args Opts) *api.MessageDescription
- func FormatDisplayName(name string) string
- func GetEnums(msgs []*protogen.Message) []*protogen.Enum
- func GetMessagesToDescribe(msgs []*protogen.Message) []*protogen.Message
- func Split(src string) (entries []string)
- type FileEnumInfo
- type Opts
- type TSOpts
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ApplyTSEnums ¶ added in v0.16.75
func ApplyTemplate ¶
func ApplyTemplate(f *protogen.GeneratedFile, opts Opts, enums []*protogen.Enum, msgs []*protogen.Message) error
This function is called with a param which contains the entire definition of a method.
func ApplyTemplateTS ¶ added in v0.16.75
func ApplyTemplateTS(f *protogen.GeneratedFile, opts TSOpts, fileEnumInfos []FileEnumInfo) error
This function is called with a param which contains the entire definition of a method.
func CreateEnumDescription ¶
func CreateEnumDescription(en *protogen.Enum, args Opts) *api.EnumDescription
CreateEnumDescription convert enum descriptor to EnumMeta message
func CreateMessageDescription ¶
func CreateMessageDescription(msg *protogen.Message, args Opts) *api.MessageDescription
CreateMessageDescription convert enum descriptor to EnumMeta message
func FormatDisplayName ¶
FormatDisplayName fixes display name conversion to preserve common acronyms
func GetMessagesToDescribe ¶
func Split ¶
Split splits the camelcase word and returns a list of words. It also supports digits. Both lower camel case and upper camel case are supported. For more info please check: http://en.wikipedia.org/wiki/CamelCase
Examples
"" => [""] "lowercase" => ["lowercase"] "Class" => ["Class"] "MyClass" => ["My", "Class"] "MyC" => ["My", "C"] "HTML" => ["HTML"] "PDFLoader" => ["PDF", "Loader"] "AString" => ["A", "String"] "SimpleXMLParser" => ["Simple", "XML", "Parser"] "vimRPCPlugin" => ["vim", "RPC", "Plugin"] "GL11Version" => ["GL", "11", "Version"] "99Bottles" => ["99", "Bottles"] "May5" => ["May", "5"] "BFG9000" => ["BFG", "9000"] "BöseÜberraschung" => ["Böse", "Überraschung"] "Two spaces" => ["Two", " ", "spaces"] "BadUTF8\xe2\xe2\xa1" => ["BadUTF8\xe2\xe2\xa1"]
Splitting rules
- If string is not valid UTF-8, return it without splitting as single item array.
- Assign all unicode characters into one of 4 sets: lower case letters, upper case letters, numbers, and all other characters.
- Iterate through characters of string, introducing splits between adjacent characters that belong to different sets.
- Iterate through array of split strings, and if a given string is upper case: if subsequent string is lower case: move last character of upper case string to beginning of lower case string
Types ¶
type FileEnumInfo ¶ added in v0.16.75
Click to show internal directories.
Click to hide internal directories.