summaryrefslogtreecommitdiff
path: root/internal/converter/converter_interface.go
blob: abff99d602e76f350ffc86dc79240b9353f90d8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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,
	"jpeg": NewJpegConverter,
}