Documentation ¶
Index ¶
- func FindPhoneNumbers(s, country string) []string
- func Indent(s string, prefix string) string
- func IsNil(v interface{}) bool
- func Max[T constraints.Ordered](x, y T) T
- func Min[T constraints.Ordered](x, y T) T
- func ParsePhoneNumber(s, country string) string
- func PrefixOverlap(s1, s2 string) int
- func ReadTypeFromJSON(data []byte) (string, error)
- func RegisterStructValidator(fn validator.StructLevelFunc, types ...interface{})
- func RegisterValidatorAlias(alias, tags string, message ErrorMessageFunc)
- func RegisterValidatorTag(tag string, fn validator.Func, message ErrorMessageFunc)
- func ReplaceEscapedNulls(data []byte, repl []byte) []byte
- func Snakify(text string) string
- func StringSet(s []string) map[string]bool
- func StringSetKeys(m map[string]bool) []string
- func StringSliceContains(slice []string, str string, caseSensitive bool) bool
- func StringSlices(s string, indices []int) []string
- func TokenizeString(str string) []string
- func TokenizeStringByChars(str string, chars string) []string
- func TokenizeStringByUnicodeSeg(str string) []string
- func Truncate(s string, limit int) string
- func TruncateEllipsis(s string, limit int) string
- func UnmarshalAndValidate(data []byte, obj interface{}) error
- func UnmarshalAndValidateWithLimit(reader io.ReadCloser, s interface{}, limit int64) error
- func Validate(obj interface{}) error
- type Attachment
- type ErrorMessageFunc
- type Redactor
- type RichError
- type Typed
- type TypedEnvelope
- type ValidationErrors
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FindPhoneNumbers ¶
FindPhoneNumbers finds phone numbers anywhere in the given string
func IsNil ¶
func IsNil(v interface{}) bool
IsNil returns whether the given object is nil or an interface to a nil
func ParsePhoneNumber ¶
ParsePhoneNumber tries to parse the given string as a phone number. If successful, it returns it formatted as E164.
func PrefixOverlap ¶
PrefixOverlap returns the number of prefix characters which s1 and s2 have in common
func ReadTypeFromJSON ¶
ReadTypeFromJSON reads a field called `type` from the given JSON
func RegisterStructValidator ¶
func RegisterStructValidator(fn validator.StructLevelFunc, types ...interface{})
RegisterStructValidator registers a struct level validator
func RegisterValidatorAlias ¶
func RegisterValidatorAlias(alias, tags string, message ErrorMessageFunc)
RegisterValidatorAlias registers a tag alias
func RegisterValidatorTag ¶
func RegisterValidatorTag(tag string, fn validator.Func, message ErrorMessageFunc)
RegisterValidatorTag registers a tag
func ReplaceEscapedNulls ¶
replaces any `\u0000` sequences with the given replacement sequence which may be empty. A sequence such as `\\u0000` is preserved as it is an escaped slash followed by the sequence `u0000`
func Snakify ¶
Snakify turns the passed in string into a context reference. We replace all whitespace characters with _ and replace any duplicate underscores
func StringSetKeys ¶
StringSetKeys returns the keys of string set in lexical order
func StringSliceContains ¶
StringSliceContains determines whether the given slice of strings contains the given string
func StringSlices ¶
StringSlices returns the slices of s defined by pairs of indexes in indices
func TokenizeString ¶
TokenizeString returns the words in the passed in string, split by non word characters including emojis
func TokenizeStringByChars ¶
TokenizeStringByChars returns the words in the passed in string, split by the chars in the given string
func TokenizeStringByUnicodeSeg ¶
TokenizeStringByUnicodeSeg tokenizes the given string using the Unicode Text Segmentation standard described at http://www.unicode.org/reports/tr29/
func TruncateEllipsis ¶
TruncateEllipsis truncates the given string and adds ellipsis where the input is cut
func UnmarshalAndValidate ¶
UnmarshalAndValidate is a convenience function to unmarshal an object and validate it
func UnmarshalAndValidateWithLimit ¶
func UnmarshalAndValidateWithLimit(reader io.ReadCloser, s interface{}, limit int64) error
UnmarshalAndValidateWithLimit unmarshals a struct with a limit on how many bytes can be read from the given reader
Types ¶
type Attachment ¶
type Attachment string
Attachment is a media attachment on a message in the format <content-type>:<url>. Content type may be a full media type or may omit the subtype when it is unknown.
Examples:
- image/jpeg:http://s3.amazon.com/bucket/test.jpg
- image:http://s3.amazon.com/bucket/test.jpg
func (Attachment) ContentType ¶
func (a Attachment) ContentType() string
ContentType returns the MIME type of this attachment
func (Attachment) ToParts ¶
func (a Attachment) ToParts() (string, string)
ToParts splits an attachment string into content-type and URL
func (Attachment) URL ¶
func (a Attachment) URL() string
URL returns the full URL of this attachment
type ErrorMessageFunc ¶
type ErrorMessageFunc func(validator.FieldError) string
ErrorMessageFunc is the type for a function that can convert a field error to user friendly message
type Redactor ¶
Redactor is a function which can redact the given string
func NewRedactor ¶
NewRedactor creates a new redaction function which replaces the given values
type Typed ¶
type Typed interface {
Type() string
}
Typed is an interface of objects that are marshalled as typed envelopes
type TypedEnvelope ¶
type TypedEnvelope struct {
Type string `json:"type" validate:"required"`
}
TypedEnvelope can be mixed into envelopes that have a type field
type ValidationErrors ¶
type ValidationErrors []error
ValidationErrors combines multiple validation errors as a single error
func (ValidationErrors) Error ¶
func (e ValidationErrors) Error() string
Error returns a string representation of these validation errors