chore: coding style (#3960)

master^2 v1.6.3
Kevin Wan 9 months ago committed by GitHub
parent b624b966f0
commit 25821bdee6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -19,17 +19,17 @@ var (
) )
type ( type (
options = mopt.ClientOptions
// Option defines the method to customize a mongo model. // Option defines the method to customize a mongo model.
Option func(opts *options) Option func(opts *options)
// RegisterType A struct store With custom type and Encoder/Decoder // TypeCodec is a struct that stores specific type Encoder/Decoder.
RegisterType struct { TypeCodec struct {
ValueType reflect.Type ValueType reflect.Type
Encoder bsoncodec.ValueEncoder Encoder bsoncodec.ValueEncoder
Decoder bsoncodec.ValueDecoder Decoder bsoncodec.ValueDecoder
} }
options = mopt.ClientOptions
) )
// DisableLog disables logging of mongo commands, includes info and slow logs. // DisableLog disables logging of mongo commands, includes info and slow logs.
@ -48,12 +48,6 @@ func SetSlowThreshold(threshold time.Duration) {
slowThreshold.Set(threshold) slowThreshold.Set(threshold)
} }
func defaultTimeoutOption() Option {
return func(opts *options) {
opts.SetTimeout(defaultTimeout)
}
}
// WithTimeout set the mon client operation timeout. // WithTimeout set the mon client operation timeout.
func WithTimeout(timeout time.Duration) Option { func WithTimeout(timeout time.Duration) Option {
return func(opts *options) { return func(opts *options) {
@ -61,14 +55,20 @@ func WithTimeout(timeout time.Duration) Option {
} }
} }
// WithRegistry set the Registry to convert custom type to mongo primitive type more easily. // WithTypeCodec registers TypeCodecs to convert custom types.
func WithRegistry(registerType ...RegisterType) Option { func WithTypeCodec(typeCodecs ...TypeCodec) Option {
return func(opts *options) { return func(opts *options) {
registry := bson.NewRegistry() registry := bson.NewRegistry()
for _, v := range registerType { for _, v := range typeCodecs {
registry.RegisterTypeEncoder(v.ValueType, v.Encoder) registry.RegisterTypeEncoder(v.ValueType, v.Encoder)
registry.RegisterTypeDecoder(v.ValueType, v.Decoder) registry.RegisterTypeDecoder(v.ValueType, v.Decoder)
} }
opts.SetRegistry(registry) opts.SetRegistry(registry)
} }
} }
func defaultTimeoutOption() Option {
return func(opts *options) {
opts.SetTimeout(defaultTimeout)
}
}

@ -79,16 +79,16 @@ func TestWithRegistryForTimestampRegisterType(t *testing.T) {
return nil return nil
} }
registerType := []RegisterType{ codecs := []TypeCodec{
{ {
ValueType: reflect.TypeOf(time.Time{}), ValueType: reflect.TypeOf(time.Time{}),
Encoder: mongoDateTimeEncoder, Encoder: mongoDateTimeEncoder,
Decoder: mongoDateTimeDecoder, Decoder: mongoDateTimeDecoder,
}, },
} }
WithRegistry(registerType...)(opts) WithTypeCodec(codecs...)(opts)
for _, v := range registerType { for _, v := range codecs {
// Validate Encoder // Validate Encoder
enc, err := opts.Registry.LookupEncoder(v.ValueType) enc, err := opts.Registry.LookupEncoder(v.ValueType)
if err != nil { if err != nil {

@ -35,6 +35,6 @@ LABEL org.opencontainers.image.description="A cloud-native Go microservices fram
LABEL org.opencontainers.image.licenses="MIT" LABEL org.opencontainers.image.licenses="MIT"
LABEL org.opencontainers.image.source="https://github.com/zeromicro/go-zero" LABEL org.opencontainers.image.source="https://github.com/zeromicro/go-zero"
LABEL org.opencontainers.image.title="goctl (cli)" LABEL org.opencontainers.image.title="goctl (cli)"
LABEL org.opencontainers.image.version="v1.6.0" LABEL org.opencontainers.image.version="v1.6.2"
ENTRYPOINT ["/usr/local/bin/goctl"] ENTRYPOINT ["/usr/local/bin/goctl"]

@ -1,4 +1,4 @@
FROM golang:1.21-alpine FROM golang:1.22-alpine
ENV TZ Asia/Shanghai ENV TZ Asia/Shanghai
ENV GOPROXY https://goproxy.cn,direct ENV GOPROXY https://goproxy.cn,direct

Loading…
Cancel
Save