mirror of
https://github.com/zeromicro/go-zero.git
synced 2026-05-07 15:10:01 +08:00
37 lines
607 B
Go
37 lines
607 B
Go
package parser
|
|
|
|
import (
|
|
"errors"
|
|
|
|
"github.com/emicklei/proto"
|
|
)
|
|
|
|
type (
|
|
// Services is a slice of Service.
|
|
Services []Service
|
|
|
|
// Service describes the rpc service, which is the relevant
|
|
// content after the translation of the proto file
|
|
Service struct {
|
|
*proto.Service
|
|
RPC []*RPC
|
|
}
|
|
)
|
|
|
|
func (s Services) validate(filename string, multipleOpt ...bool) error {
|
|
if len(s) == 0 {
|
|
return errors.New("rpc service not found")
|
|
}
|
|
|
|
var multiple bool
|
|
for _, c := range multipleOpt {
|
|
multiple = c
|
|
}
|
|
|
|
if !multiple && len(s) > 1 {
|
|
return errors.New("only one service expected")
|
|
}
|
|
|
|
return nil
|
|
}
|