gen.go 831 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package tsgen
  2. import (
  3. "errors"
  4. "fmt"
  5. "zero/core/lang"
  6. "zero/tools/goctl/api/parser"
  7. "zero/tools/goctl/util"
  8. "github.com/logrusorgru/aurora"
  9. "github.com/urfave/cli"
  10. )
  11. func TsCommand(c *cli.Context) error {
  12. apiFile := c.String("api")
  13. dir := c.String("dir")
  14. webApi := c.String("webapi")
  15. caller := c.String("caller")
  16. unwrapApi := c.Bool("unwrap")
  17. if len(apiFile) == 0 {
  18. return errors.New("missing -api")
  19. }
  20. if len(dir) == 0 {
  21. return errors.New("missing -dir")
  22. }
  23. p, err := parser.NewParser(apiFile)
  24. if err != nil {
  25. return err
  26. }
  27. api, err := p.Parse()
  28. if err != nil {
  29. fmt.Println(aurora.Red("Failed"))
  30. return err
  31. }
  32. lang.Must(util.MkdirIfNotExist(dir))
  33. lang.Must(genHandler(dir, webApi, caller, api, unwrapApi))
  34. lang.Must(genComponents(dir, api))
  35. fmt.Println(aurora.Green("Done."))
  36. return nil
  37. }