go-comic-converter/internal/epub/progress/epub_progress_json.go
2024-02-10 00:07:21 +02:00

42 lines
655 B
Go

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
return 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,
},
})
}
func (p *Json) Close() error {
return nil
}