Files
quyun-v2/backend/providers/grpc/provider.go

25 lines
498 B
Go

package grpc
import (
"fmt"
"go.ipao.vip/atom/container"
"go.ipao.vip/atom/opt"
)
func Provide(opts ...opt.Option) error {
options := opt.New(opts...)
var config Config
if err := options.UnmarshalConfig(&config); err != nil {
return fmt.Errorf("unmarshal grpc config: %w", err)
}
if err := container.Container.Provide(func() (*Grpc, error) {
return &Grpc{config: &config}, nil
}, options.DiOptions()...); err != nil {
return fmt.Errorf("provide grpc: %w", err)
}
return nil
}