convert

package
v1.0.16 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 12, 2023 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidKey       = errors.New("key is invalid")
	ErrInvalidKeyType   = errors.New("key is of invalid type")
	ErrHashUnavailable  = errors.New("the requested hash function is unavailable")
	ErrSignatureInvalid = errors.New("signature is invalid")
)

Error constants

View Source
var DecodePaddingAllowed bool

Functions

func Bytes2str

func Bytes2str(b []byte) string

func Decode

func Decode(m interface{}, rawVal interface{}) error

Decode takes a map and uses reflection to convert it into the given Go native structure. val must be a pointer to a struct.

func DecodePath

func DecodePath(m map[string]interface{}, rawVal interface{}) error

DecodePath takes a map and uses reflection to convert it into the given Go native structure. Tags are used to specify the mapping between fields in the map and structure

func DecodeSegment

func DecodeSegment(seg string) ([]byte, error)

DecodeSegment decodes a JWT specific base64url encoding with padding stripped should only be used internally

func DecodeSlicePath

func DecodeSlicePath(ms []map[string]interface{}, rawSlice interface{}) error

DecodeSlicePath decodes a slice of maps against a slice of structures that contain specified tags

func EncodeSegment

func EncodeSegment(seg []byte) string

EncodeSegment encodes a JWT specific base64url encoding with padding stripped should only be used internally

func FistIsLower

func FistIsLower(str string) bool

func FistToLower

func FistToLower(str string) string

func FormatCode

func FormatCode(code, separate string) string

func GetStructModAndName

func GetStructModAndName(s any) (mod, name string)

func HS256Sign

func HS256Sign(signing []byte, key interface{}) (string, error)

HS256Sign implements token signing for the SigningMethod. Key must be []byte

func HS256Verify

func HS256Verify(signingString, signature string, key interface{}) error

HS256Verify implements token verification for the SigningMethod. Returns nil if the signature is valid.

func Hide

func Hide(str string, length int) string

func HideCompare

func HideCompare(hideStr, source string) bool

func IntToCode

func IntToCode(code int, length int32) string

整型转固定长度字符串

func LastName

func LastName(path string) string

func MapToAssciiSortJson

func MapToAssciiSortJson(m map[string]interface{}) string

func ParseInt

func ParseInt(number string) int64

func PrintJson

func PrintJson(js interface{})

func RemoveSpecialCharacters

func RemoveSpecialCharacters(str string) string

func SplitAreaCode

func SplitAreaCode(code string) []string

func SplitCode

func SplitCode(code, separate string) []string

func Str2bytes

func Str2bytes(s string) []byte

func StrLimit

func StrLimit(str, suffix string, length int32) string

限制字符串长度

func ToCamelCase

func ToCamelCase(s string) string

*

  • 蛇形转驼峰
  • @description xx_yy to XxYx xx_y_y to XxYY
  • @date 2020/7/30
  • @param s要转换的字符串
  • @return string *

func ToCamelFirstLowerCase

func ToCamelFirstLowerCase(s string) string

*

  • 蛇形转驼峰
  • @description xx_yy to XxYx xx_y_y to XxYY
  • @date 2020/7/30
  • @param s要转换的字符串
  • @return string *

func ToI32

func ToI32(numStr string) int32

func ToI64

func ToI64(numStr string) int64

func ToInt

func ToInt(i interface{}) int

func ToInt32

func ToInt32[T ~int | ~int32 | ~int64](i T) int32

ToInt32 转换为int32

func ToInt64

func ToInt64[T ~int | ~int32 | ~int64](i T) int64

ToInt64 转换为int64

func ToJsonString

func ToJsonString(js interface{}) string

func ToSnakeCase

func ToSnakeCase(s string) string

*

  • 驼峰转蛇形 snake string
  • @description XxYy to xx_yy , XxYY to xx_y_y
  • @param s 需要转换的字符串
  • @return string *

Types

type DecodeHookFunc

type DecodeHookFunc func(reflect.Kind, reflect.Kind, interface{}) (interface{}, error)

type Decoder

type Decoder struct {
	// contains filtered or unexported fields
}

A Decoder takes a raw interface value and turns it into structured data, keeping track of rich error information along the way in case anything goes wrong. Unlike the basic top-level Decode method, you can more finely control how the Decoder behaves using the DecoderConfig structure. The top-level Decode method is just a convenience that sets up the most basic Decoder.

func NewDecoder

func NewDecoder(config *DecoderConfig) (*Decoder, error)

NewDecoder returns a new decoder for the given configuration. Once a decoder has been returned, the same configuration must not be used again.

func NewPathDecoder

func NewPathDecoder(config *DecoderConfig) (*Decoder, error)

NewPathDecoder returns a new decoder for the given configuration. This is used to decode path specific structures

func (*Decoder) Decode

func (d *Decoder) Decode(raw interface{}) error

Decode decodes the given raw interface to the target pointer specified by the configuration.

func (*Decoder) DecodePath

func (d *Decoder) DecodePath(m map[string]interface{}, rawVal interface{}) (bool, error)

DecodePath decodes the raw interface against the map based on the specified tags

type DecoderConfig

type DecoderConfig struct {
	// DecodeHook, if set, will be called before any decoding and any
	// type conversion (if WeaklyTypedInput is on). This lets you modify
	// the values before they're set down onto the resulting struct.
	//
	// If an error is returned, the entire decode will fail with that
	// error.
	DecodeHook DecodeHookFunc

	// If ErrorUnused is true, then it is an error for there to exist
	// keys in the original map that were unused in the decoding process
	// (extra keys).
	ErrorUnused bool

	// If WeaklyTypedInput is true, the decoder will make the following
	// "weak" conversions:
	//
	//   - bools to string (true = "1", false = "0")
	//   - numbers to string (base 10)
	//   - bools to int/uint (true = 1, false = 0)
	//   - strings to int/uint (base implied by prefix)
	//   - int to bool (true if value != 0)
	//   - string to bool (accepts: 1, t, T, TRUE, true, True, 0, f, F,
	//     FALSE, false, False. Anything else is an error)
	//   - empty array = empty map and vice versa
	//
	WeaklyTypedInput bool

	// Metadata is the struct that will contain extra metadata about
	// the decoding. If this is nil, then no metadata will be tracked.
	Metadata *Metadata

	// Result is a pointer to the struct that will contain the decoded
	// value.
	Result interface{}

	// The tag name that mapstructure reads for field names. This
	// defaults to "mapstructure"
	TagName string
}

DecoderConfig is the configuration that is used to create a new decoder and allows customization of various aspects of decoding.

type Error

type Error struct {
	Errors []string
}

func (*Error) Error

func (e *Error) Error() string

type Metadata

type Metadata struct {
	// Keys are the keys of the structure which were successfully decoded
	Keys []string

	// Unused is a slice of keys that were found in the raw value but
	// weren't decoded since there was no matching field in the result interface
	Unused []string
}

Metadata contains information about decoding a structure that is tedious or difficult to get otherwise.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL