gen.go 707 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package dartgen
  2. import (
  3. "errors"
  4. "strings"
  5. "zero/core/lang"
  6. "zero/tools/goctl/api/parser"
  7. "github.com/urfave/cli"
  8. )
  9. func DartCommand(c *cli.Context) error {
  10. apiFile := c.String("api")
  11. dir := c.String("dir")
  12. if len(apiFile) == 0 {
  13. return errors.New("missing -api")
  14. }
  15. if len(dir) == 0 {
  16. return errors.New("missing -dir")
  17. }
  18. p, err := parser.NewParser(apiFile)
  19. if err != nil {
  20. return err
  21. }
  22. api, err := p.Parse()
  23. if err != nil {
  24. return err
  25. }
  26. if !strings.HasSuffix(dir, "/") {
  27. dir = dir + "/"
  28. }
  29. api.Info.Title = strings.Replace(apiFile, ".api", "", -1)
  30. lang.Must(genData(dir+"data/", api))
  31. lang.Must(genApi(dir+"api/", api))
  32. lang.Must(genVars(dir + "vars/"))
  33. return nil
  34. }