diff --git a/meta/meta.go b/meta/meta.go new file mode 100644 index 0000000..84e1410 --- /dev/null +++ b/meta/meta.go @@ -0,0 +1,20 @@ +// Package meta defines system and member metadata types. +package meta + +import ( + "encoding" + "net/url" +) + +// URL implements [encoding] interfaces on top of [url.URL]. +type URL struct{ url.URL } + +var ( + _ encoding.TextAppender = new(URL) + _ encoding.TextMarshaler = new(URL) + _ encoding.TextUnmarshaler = new(URL) +) + +func (u *URL) MarshalText() (data []byte, err error) { return u.MarshalBinary() } +func (u *URL) AppendText(data []byte) ([]byte, error) { return u.AppendBinary(data) } +func (u *URL) UnmarshalText(data []byte) error { return u.UnmarshalBinary(data) }