Package 'name' contains contracts and functionality to help with naming things.
Formatter is an interface which defines operations for types which can format names.
FormatName takes a name, formats it and then returns the result.
Processor is a Validator and Formatter.
RuneLevelProcessor is a RuneLevelValidator and Formatter.
RuneLevelValidator is Validator which can also validate isolated runes within a name.
IsRuneValid returns true if the provided rune is a valid component of a name
func NewBasicValidator(isEmptyValid bool, isValidRuneCheck func(rune) bool) (RuneLevelValidator, error)
NewBasicValidator constructs a RuneLevelValidator which can validate names for being empty or containing isolated runes which fail a basic validation check
Validator is an interface which declares operations associated with name validation.
IsValid returns true if the provided name is valid.
NewLengthValidator constructs a Validator which can verify that names are of a correct length
NewRegexpValidator constructs a new Validator which verifies that a name matches a specific regular expression