summaryrefslogtreecommitdiff
path: root/internal/converter/converter_interface.go
blob: fda23d1cff9f403e2f6f5d3b515da6656baf2663 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package converter

import (
	"io"

	"github.com/SayaAndy/saya-today-thumbnail-generator/config"
	"github.com/SayaAndy/saya-today-thumbnail-generator/internal/client/input"
	"github.com/SayaAndy/saya-today-thumbnail-generator/internal/client/output"
)

type Converter interface {
	Process(inputMetadata *input.MetadataStruct, reader io.Reader, outputName string) error
	DeductOutputPath(inputPath string) string
	ReadMetadata(path string) (*output.MetadataStruct, error)
	IsMissing(path string) bool
}

var NewConverterMap = map[string]func(cfg *config.ConverterConfig) (Converter, error){
	"webp": NewWebpConverter,
}