Vendor packages update
This commit is contained in:
51
vendor/github.com/uptrace/bun/schema/reflect.go
generated
vendored
Normal file
51
vendor/github.com/uptrace/bun/schema/reflect.go
generated
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
package schema
|
||||
|
||||
import (
|
||||
"database/sql/driver"
|
||||
"encoding/json"
|
||||
"net"
|
||||
"net/netip"
|
||||
"reflect"
|
||||
"time"
|
||||
)
|
||||
|
||||
var (
|
||||
bytesType = reflect.TypeFor[[]byte]()
|
||||
timePtrType = reflect.TypeFor[*time.Time]()
|
||||
timeType = reflect.TypeFor[time.Time]()
|
||||
ipType = reflect.TypeFor[net.IP]()
|
||||
ipNetType = reflect.TypeFor[net.IPNet]()
|
||||
netipPrefixType = reflect.TypeFor[netip.Prefix]()
|
||||
netipAddrType = reflect.TypeFor[netip.Addr]()
|
||||
jsonRawMessageType = reflect.TypeFor[json.RawMessage]()
|
||||
|
||||
driverValuerType = reflect.TypeFor[driver.Valuer]()
|
||||
queryAppenderType = reflect.TypeFor[QueryAppender]()
|
||||
jsonMarshalerType = reflect.TypeFor[json.Marshaler]()
|
||||
)
|
||||
|
||||
func indirectType(t reflect.Type) reflect.Type {
|
||||
if t.Kind() == reflect.Ptr {
|
||||
t = t.Elem()
|
||||
}
|
||||
return t
|
||||
}
|
||||
|
||||
func fieldByIndex(v reflect.Value, index []int) (_ reflect.Value, ok bool) {
|
||||
if len(index) == 1 {
|
||||
return v.Field(index[0]), true
|
||||
}
|
||||
|
||||
for i, idx := range index {
|
||||
if i > 0 {
|
||||
if v.Kind() == reflect.Ptr {
|
||||
if v.IsNil() {
|
||||
return v, false
|
||||
}
|
||||
v = v.Elem()
|
||||
}
|
||||
}
|
||||
v = v.Field(idx)
|
||||
}
|
||||
return v, true
|
||||
}
|
||||
Reference in New Issue
Block a user