Create function to safely create new text construct

This commit is contained in:
Jason Streifling 2024-10-15 15:36:11 +02:00
parent 64a2d6b583
commit 2d1d95502f

17
text.go
View File

@ -1,6 +1,23 @@
package atomfeed
import (
"fmt"
)
type Text interface {
Check() error
IsText() bool
}
func NewText(textType, content string) (Text, error) {
switch textType {
case "text", "html":
return &PlainText{Type: textType, Text: content}, nil
case "xhtml":
return &XHTMLText{Type: textType, XHTMLDiv: content}, nil
case "":
return &PlainText{Type: "text", Text: content}, nil
default:
return nil, fmt.Errorf("%v is not a valid text type", textType)
}
}