Documentation
¶
Index ¶
- func EncodeCasePreservingSnakeCase(words DecodedIdentifier) string
- func EncodeKebabCase(words DecodedIdentifier) string
- func EncodeLowerCamelCase(words DecodedIdentifier) string
- func EncodeLowerSnakeCase(words DecodedIdentifier) string
- func EncodeUpperCamelCase(words DecodedIdentifier) string
- func EncodeUpperSnakeCase(words DecodedIdentifier) string
- type DecodeCasingFunc
- type DecodedIdentifier
- func DecodeCasePreservingSnakeCase(s string) (DecodedIdentifier, error)
- func DecodeGoCamelCase(s string) (DecodedIdentifier, error)
- func DecodeGoTags(s string) (DecodedIdentifier, error)
- func DecodeKebabCase(s string) (DecodedIdentifier, error)
- func DecodeLowerCamelCase(s string) (DecodedIdentifier, error)
- func DecodeLowerSnakeCase(s string) (DecodedIdentifier, error)
- func DecodeUpperCamelCase(s string) (DecodedIdentifier, error)
- func DecodeUpperSnakeCase(s string) (DecodedIdentifier, error)
- type EncodeCasingFunc
- type GoCaseConverter
- func (g *GoCaseConverter) AddInitialism(initialism ...string)
- func (g *GoCaseConverter) Decode(s string) (DecodedIdentifier, error)
- func (g *GoCaseConverter) DecodeGoTags(s string) (DecodedIdentifier, error)
- func (g *GoCaseConverter) Encode(words DecodedIdentifier) string
- func (g *GoCaseConverter) EncodeUnexported(words DecodedIdentifier) string
- func (g *GoCaseConverter) SetAtoms(atoms []string)
- func (g *GoCaseConverter) SetInitialisms(initialisms []string)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func EncodeCasePreservingSnakeCase ¶
func EncodeCasePreservingSnakeCase(words DecodedIdentifier) string
EncodeCasePreservingSnakeCase encodes a slice of words into case_Preserving_snake_case
func EncodeKebabCase ¶
func EncodeKebabCase(words DecodedIdentifier) string
EncodeKebabCase encodes a slice of words into kebab-case
func EncodeLowerCamelCase ¶
func EncodeLowerCamelCase(words DecodedIdentifier) string
EncodeLowerCamelCase encodes a slice of words into lowerCamelCase
func EncodeLowerSnakeCase ¶
func EncodeLowerSnakeCase(words DecodedIdentifier) string
EncodeLowerSnakeCase encodes a slice of words into lower_snake_case
func EncodeUpperCamelCase ¶
func EncodeUpperCamelCase(words DecodedIdentifier) string
EncodeUpperCamelCase encodes a slice of words into UpperCamelCase
func EncodeUpperSnakeCase ¶
func EncodeUpperSnakeCase(words DecodedIdentifier) string
EncodeUpperSnakeCase encodes a slice of words into UPPER_SNAKE_CASE (AKA SCREAMING_SNAKE_CASE)
Types ¶
type DecodeCasingFunc ¶
type DecodeCasingFunc func(string) (DecodedIdentifier, error)
DecodeCasingFunc takes in an identifier in a case such as camelCase or snake_case and splits it up into a DecodedIdentifier for encoding by an EncodeCasingFunc into a different case.
type DecodedIdentifier ¶
type DecodedIdentifier []string
DecodedIdentifier is an slice of lowercase words (e.g., []string{"test", "string"}) produced by a DecodeCasingFunc, which can be encoded by an EncodeCasingFunc into a string in the specified case (e.g., with EncodeLowerCamelCase, "testString").
func DecodeCasePreservingSnakeCase ¶
func DecodeCasePreservingSnakeCase(s string) (DecodedIdentifier, error)
DecodeCasePreservingSnakeCase decodes Case_Preserving_Snake_Case into a slice of lower-cased sub-string
func DecodeGoCamelCase ¶
func DecodeGoCamelCase(s string) (DecodedIdentifier, error)
DecodeGoCamelCase decodes UpperCamelCase and lowerCamelCase strings with fully capitalized acronyms (e.g., "jsonAPIDocs") into a slice of lower-cased sub-strings.
func DecodeGoTags ¶
func DecodeGoTags(s string) (DecodedIdentifier, error)
DecodeGoTags decodes CamelCase, snake_case, and kebab-case strings with fully capitalized acronyms into a slice of lower cased strings.
func DecodeKebabCase ¶
func DecodeKebabCase(s string) (DecodedIdentifier, error)
DecodeKebabCase decodes kebab-case into a slice of lower-cased sub-strings
func DecodeLowerCamelCase ¶
func DecodeLowerCamelCase(s string) (DecodedIdentifier, error)
DecodeLowerCamelCase decodes lowerCamelCase strings into a slice of lower-cased sub-strings
func DecodeLowerSnakeCase ¶
func DecodeLowerSnakeCase(s string) (DecodedIdentifier, error)
DecodeLowerSnakeCase decodes lower_snake_case into a slice of lower-cased sub-strings
func DecodeUpperCamelCase ¶
func DecodeUpperCamelCase(s string) (DecodedIdentifier, error)
DecodeUpperCamelCase decodes UpperCamelCase strings into a slice of lower-cased sub-strings
func DecodeUpperSnakeCase ¶
func DecodeUpperSnakeCase(s string) (DecodedIdentifier, error)
DecodeUpperSnakeCase decodes UPPER_SNAKE_CASE (sometimes called SCREAMING_SNAKE_CASE) into a slice of lower-cased sub-strings
type EncodeCasingFunc ¶
type EncodeCasingFunc func(DecodedIdentifier) string
EncodeCasingFunc combines the contents of a DecodedIdentifier into an identifier in a case such as camelCase or snake_case.
type GoCaseConverter ¶ added in v0.18.0
type GoCaseConverter struct {
// contains filtered or unexported fields
}
GoCaseConverter is a case converter that can decode and encode Go-style identifiers.
func NewGoCaseConverter ¶ added in v0.18.0
func NewGoCaseConverter() *GoCaseConverter
NewGoCaseConverter creates a new GoCaseConverter. Please see the `AddInitialism`, `SetInitialisms`, and `SetAtoms` methods for details on how to customize the encoding and decoding behavior.
func (*GoCaseConverter) AddInitialism ¶ added in v0.18.0
func (g *GoCaseConverter) AddInitialism(initialism ...string)
AddInitialisms adds the passed initialisms to the set of initialisms. Attempting to add an initialism less than two characters long will cause a panic. If any of the added initialisms duplicate any existing initialism, the duplicates will be silently ignored.
func (*GoCaseConverter) Decode ¶ added in v0.18.0
func (g *GoCaseConverter) Decode(s string) (DecodedIdentifier, error)
Decode implements DecodeCasingFunc for Go-style identifiers. It consults the internal list of initialisms and atoms to determine how to split the string.
func (*GoCaseConverter) DecodeGoTags ¶ added in v0.18.0
func (g *GoCaseConverter) DecodeGoTags(s string) (DecodedIdentifier, error)
DecodeGoTags decodes CamelCase, snake_case, and kebab-case strings with fully capitalized acronyms into a slice of lower cased strings.
func (*GoCaseConverter) Encode ¶ added in v0.18.0
func (g *GoCaseConverter) Encode(words DecodedIdentifier) string
Encode implements a EncodeCasingFunc for Go-style identifiers and returns an exported-style name (with an initial uppercase character).
func (*GoCaseConverter) EncodeUnexported ¶ added in v0.18.0
func (g *GoCaseConverter) EncodeUnexported(words DecodedIdentifier) string
EncodeUnexported is like Encode, but returns an unexported name (with an initial lowercase character) still adhering to the rules of initialisms and atoms.
func (*GoCaseConverter) SetAtoms ¶ added in v0.18.0
func (g *GoCaseConverter) SetAtoms(atoms []string)
SetAtoms replaces the set of atoms used by the GoCaseConverter with the argument. Atoms will specifically not be split at word boundaries and should be provided in the exported-name format as in "ABTest". Attemping to add an atom less than two characters in length will cause a panic. Also, any duplicates in the list of atoms will be removed.
func (*GoCaseConverter) SetInitialisms ¶ added in v0.18.0
func (g *GoCaseConverter) SetInitialisms(initialisms []string)
SetInitialisms replaces the set of initialisms used by the GoCaseConverter with the argument. Attempting to set an initialism less than two characters long will cause a panic. Also, any duplicates in the list of initialisms will be silently discarded.