/
githubmirror
/
sqlc
Обзор
Документация
Войти
/
githubmirror
/
sqlc
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
cmd/sqlc-gen-json/main.go
47 строк
833 B
Andrew Benton
feat(plugin): Use gRPC interface for codegen plugin communication (#2930)
02 ноя 2023, 02:01
Не верифицирован
02 ноя 2023, 02:01
4507ede
Код
Авторство
О чём код?
package main import ( "bufio" "context" "fmt" "io" "os" "github.com/sqlc-dev/sqlc/internal/codegen/json" "github.com/sqlc-dev/sqlc/internal/plugin" "google.golang.org/protobuf/proto" ) func main() { if err := run(); err != nil { fmt.Fprintf(os.Stderr, "error generating JSON: %s", err) os.Exit(2) } } func run() error { var req plugin.GenerateRequest reqBlob, err := io.ReadAll(os.Stdin) if err != nil { return err } if err := proto.Unmarshal(reqBlob, &req); err != nil { return err } resp, err := json.Generate(context.Background(), &req) if err != nil { return err } respBlob, err := proto.Marshal(resp) if err != nil { return err } w := bufio.NewWriter(os.Stdout) if _, err := w.Write(respBlob); err != nil { return err } if err := w.Flush(); err != nil { return err } return nil }