github.com/vcilabs/webrpc@v0.5.2-0.20201116131534-162e27b1b33b/gen/gen.go (about)

     1  package gen
     2  
     3  import (
     4  	"github.com/webrpc/webrpc/schema"
     5  )
     6  
     7  type Generator interface {
     8  	Gen(proto *schema.WebRPCSchema, opts TargetOptions) (string, error)
     9  }
    10  
    11  var Generators = map[string]Generator{}
    12  
    13  func Register(target string, generator Generator) {
    14  	Generators[target] = generator
    15  }
    16  
    17  func GetGenerator(target string) Generator {
    18  	g, _ := Generators[target]
    19  	return g
    20  }
    21  
    22  type TargetOptions struct {
    23  	PkgName   string
    24  	Client    bool
    25  	Server    bool
    26  	Extra     string
    27  	Websocket bool
    28  }