func (m *Metadata) Valid() bool {
	return m != nil && (m.Title != "" || m.Description != "" || m.Image != "")
}
Valid check that at least one of the mandatory attributes is non-empty
package unfurlist
import (
	"context"
	"net/http"
	"net/url"
)
type FetchFunc func(context.Context, *http.Client, *url.URL) (*Metadata, bool)
type Metadata struct {
	Title       string
	Type        string  
	Description string
	Image       string  
	ImageWidth  int
	ImageHeight int
}