43 lines
739 B
Go
43 lines
739 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
"os"
|
|
"path/filepath"
|
|
|
|
"git.apinb.com/bsm-tools/protoc-gen-ts/internal/plugin"
|
|
"google.golang.org/protobuf/proto"
|
|
"google.golang.org/protobuf/types/pluginpb"
|
|
)
|
|
|
|
func main() {
|
|
if err := run(); err != nil {
|
|
fmt.Fprintf(os.Stderr, "%s: %v\n", filepath.Base(os.Args[0]), err)
|
|
os.Exit(1)
|
|
}
|
|
}
|
|
|
|
func run() error {
|
|
in, err := io.ReadAll(os.Stdin)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
req := &pluginpb.CodeGeneratorRequest{}
|
|
if err := proto.Unmarshal(in, req); err != nil {
|
|
return err
|
|
}
|
|
resp, err := plugin.Generate(req)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
out, err := proto.Marshal(resp)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if _, err := os.Stdout.Write(out); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|