package epubprogress import ( "encoding/json" "os" ) type Json struct { o Options e *json.Encoder current int } func newEpubProgressJson(o Options) EpubProgress { return &Json{ o: o, e: json.NewEncoder(os.Stdout), } } func (p *Json) Add(num int) error { p.current += num p.e.Encode(map[string]any{ "type": "progress", "data": map[string]any{ "progress": map[string]any{ "current": p.current, "total": p.o.Max, }, "steps": map[string]any{ "current": p.o.CurrentJob, "total": p.o.TotalJob, }, "description": p.o.Description, }, }) return nil } func (p *Json) Close() error { return nil }