package mkflex import ( "context" "os" conutils "codeberg.org/danjones000/utils/convids" mkutils "codeberg.org/danjones000/utils/mkflex" "gopkg.in/yaml.v3" ) func NewApp(ctx context.Context, name string, args []string, dataPath, templatePath, outPath string) (*App, error) { var err error a := App{ Name: name, Path: outPath, } a.Data, err = conutils.NewData(dataPath) if err != nil { return nil, err } a.Config, err = mkutils.NewConfig(templatePath) if err != nil { return nil, err } return &a, nil } type App struct { Name string Data *conutils.Data Path string Config *mkutils.Config } func (a *App) Run(ctx context.Context) error { out, err := os.Create(a.Path) if err != nil { return err } enc := yaml.NewEncoder(out) enc.SetIndent(2) if err := mkutils.AddShows(a.Config, a.Data); err != nil { return err } delete(a.Config.Templates, "x-aliases") return enc.Encode(a.Config) }