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 }