This repository has been archived on 2024-12-31. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files

44 lines
1.1 KiB
Go

package opds
import (
"github.com/lann/builder"
"golang.org/x/tools/blog/atom"
)
type linkBuilder builder.Builder
func (l linkBuilder) Rel(rel string) linkBuilder {
return builder.Set(l, "Rel", rel).(linkBuilder)
}
func (l linkBuilder) Href(href string) linkBuilder {
return builder.Set(l, "Href", href).(linkBuilder)
}
func (l linkBuilder) Type(typeName string) linkBuilder {
return builder.Set(l, "Type", typeName).(linkBuilder)
}
func (l linkBuilder) HrefLang(lang string) linkBuilder {
return builder.Set(l, "HrefLang", lang).(linkBuilder)
}
func (l linkBuilder) Title(title string) linkBuilder {
return builder.Set(l, "Title", title).(linkBuilder)
}
func (l linkBuilder) Length(length uint) linkBuilder {
return builder.Set(l, "Length", length).(linkBuilder)
}
func (l linkBuilder) PseCount(count uint) linkBuilder {
return builder.Set(l, "PseCount", count).(linkBuilder)
}
func (l linkBuilder) Build() atom.Link {
return builder.GetStruct(l).(atom.Link)
}
// LinkBuilder is a fluent immutable builder to build OPDS Links
var LinkBuilder = builder.Register(linkBuilder{}, atom.Link{}).(linkBuilder)