From 1a807bb4387bc36be178f3cc9677e21c94e0d00f Mon Sep 17 00:00:00 2001 From: Yonah Date: Mon, 20 Apr 2026 21:56:45 +0900 Subject: [PATCH] meta: wrap url type This represents the URL cleanly during serialisation. Signed-off-by: Yonah --- meta/meta.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 meta/meta.go 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) }