MM-34932: Bump dependencies (#17708)
https://mattermost.atlassian.net/browse/MM-34932 ```release-note NONE ```
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
fff09bf210
Коммит
3299a72adb
4
vendor/github.com/vmihailenco/msgpack/v5/README.md
сгенерированный
поставляемый
4
vendor/github.com/vmihailenco/msgpack/v5/README.md
сгенерированный
поставляемый
@@ -82,6 +82,4 @@ func ExampleMarshal() {
|
||||
|
||||
## See also
|
||||
|
||||
- [Fast and flexible HTTP router](https://github.com/vmihailenco/treemux)
|
||||
- [Golang PostgreSQL ORM](https://github.com/go-pg/pg)
|
||||
- [Golang message task queue](https://github.com/vmihailenco/taskq)
|
||||
- [Fast and flexible ORM for sql.DB](https://bun.uptrace.dev)
|
||||
|
||||
2
vendor/github.com/vmihailenco/msgpack/v5/decode_map.go
сгенерированный
поставляемый
2
vendor/github.com/vmihailenco/msgpack/v5/decode_map.go
сгенерированный
поставляемый
@@ -288,7 +288,7 @@ func decodeStructValue(d *Decoder, v reflect.Value) error {
|
||||
return err
|
||||
}
|
||||
|
||||
if n == -1 {
|
||||
if n <= 0 {
|
||||
v.Set(reflect.Zero(v.Type()))
|
||||
return nil
|
||||
}
|
||||
|
||||
10
vendor/github.com/vmihailenco/msgpack/v5/encode.go
сгенерированный
поставляемый
10
vendor/github.com/vmihailenco/msgpack/v5/encode.go
сгенерированный
поставляемый
@@ -16,6 +16,7 @@ const (
|
||||
useCompactIntsFlag
|
||||
useCompactFloatsFlag
|
||||
useInternedStringsFlag
|
||||
omitEmptyFlag
|
||||
)
|
||||
|
||||
type writer interface {
|
||||
@@ -147,6 +148,15 @@ func (e *Encoder) SetCustomStructTag(tag string) {
|
||||
e.structTag = tag
|
||||
}
|
||||
|
||||
// SetOmitEmpty causes the Encoder to omit empty values by default.
|
||||
func (e *Encoder) SetOmitEmpty(on bool) {
|
||||
if on {
|
||||
e.flags |= omitEmptyFlag
|
||||
} else {
|
||||
e.flags &= ^omitEmptyFlag
|
||||
}
|
||||
}
|
||||
|
||||
// UseArrayEncodedStructs causes the Encoder to encode Go structs as msgpack arrays.
|
||||
func (e *Encoder) UseArrayEncodedStructs(on bool) {
|
||||
if on {
|
||||
|
||||
2
vendor/github.com/vmihailenco/msgpack/v5/encode_map.go
сгенерированный
поставляемый
2
vendor/github.com/vmihailenco/msgpack/v5/encode_map.go
сгенерированный
поставляемый
@@ -147,7 +147,7 @@ func encodeStructValue(e *Encoder, strct reflect.Value) error {
|
||||
if e.flags&arrayEncodedStructsFlag != 0 || structFields.AsArray {
|
||||
return encodeStructValueAsArray(e, strct, structFields.List)
|
||||
}
|
||||
fields := structFields.OmitEmpty(strct)
|
||||
fields := structFields.OmitEmpty(strct, e.flags&omitEmptyFlag != 0)
|
||||
|
||||
if err := e.EncodeMapLen(len(fields)); err != nil {
|
||||
return err
|
||||
|
||||
32
vendor/github.com/vmihailenco/msgpack/v5/types.go
сгенерированный
поставляемый
32
vendor/github.com/vmihailenco/msgpack/v5/types.go
сгенерированный
поставляемый
@@ -97,12 +97,12 @@ type field struct {
|
||||
decoder decoderFunc
|
||||
}
|
||||
|
||||
func (f *field) Omit(strct reflect.Value) bool {
|
||||
func (f *field) Omit(strct reflect.Value, forced bool) bool {
|
||||
v, ok := fieldByIndex(strct, f.index)
|
||||
if !ok {
|
||||
return true
|
||||
}
|
||||
return f.omitEmpty && isEmptyValue(v)
|
||||
return (f.omitEmpty || forced) && isEmptyValue(v)
|
||||
}
|
||||
|
||||
func (f *field) EncodeValue(e *Encoder, strct reflect.Value) error {
|
||||
@@ -152,15 +152,15 @@ func (fs *fields) warnIfFieldExists(name string) {
|
||||
}
|
||||
}
|
||||
|
||||
func (fs *fields) OmitEmpty(strct reflect.Value) []*field {
|
||||
if !fs.hasOmitEmpty {
|
||||
func (fs *fields) OmitEmpty(strct reflect.Value, forced bool) []*field {
|
||||
if !fs.hasOmitEmpty && !forced {
|
||||
return fs.List
|
||||
}
|
||||
|
||||
fields := make([]*field, 0, len(fs.List))
|
||||
|
||||
for _, f := range fs.List {
|
||||
if !f.Omit(strct) {
|
||||
if !f.Omit(strct, forced) {
|
||||
fields = append(fields, f)
|
||||
}
|
||||
}
|
||||
@@ -318,10 +318,21 @@ type isZeroer interface {
|
||||
}
|
||||
|
||||
func isEmptyValue(v reflect.Value) bool {
|
||||
if z, ok := v.Interface().(isZeroer); ok {
|
||||
return z.IsZero()
|
||||
kind := v.Kind()
|
||||
|
||||
for kind == reflect.Interface {
|
||||
if v.IsNil() {
|
||||
return true
|
||||
}
|
||||
v = v.Elem()
|
||||
kind = v.Kind()
|
||||
}
|
||||
switch v.Kind() {
|
||||
|
||||
if z, ok := v.Interface().(isZeroer); ok {
|
||||
return nilable(kind) && v.IsNil() || z.IsZero()
|
||||
}
|
||||
|
||||
switch kind {
|
||||
case reflect.Array, reflect.Map, reflect.Slice, reflect.String:
|
||||
return v.Len() == 0
|
||||
case reflect.Bool:
|
||||
@@ -332,10 +343,11 @@ func isEmptyValue(v reflect.Value) bool {
|
||||
return v.Uint() == 0
|
||||
case reflect.Float32, reflect.Float64:
|
||||
return v.Float() == 0
|
||||
case reflect.Interface, reflect.Ptr:
|
||||
case reflect.Ptr:
|
||||
return v.IsNil()
|
||||
default:
|
||||
return false
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func fieldByIndex(v reflect.Value, index []int) (_ reflect.Value, ok bool) {
|
||||
|
||||
Ссылка в новой задаче
Block a user