From 9010ebe8a581fb9db7bc6e97d40ff062fb18495f Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Tue, 12 May 2026 15:35:06 -0400 Subject: unmarshal GET /print-jobs response --- email.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 email.go (limited to 'email.go') diff --git a/email.go b/email.go new file mode 100644 index 0000000..bdf4dce --- /dev/null +++ b/email.go @@ -0,0 +1,32 @@ +package lulu + +import ( + "fmt" + "net/mail" +) + +type EmailAddress struct { + *mail.Address +} + +func (a *EmailAddress) UnmarshalText(text []byte) error { + addr, err := mail.ParseAddress(string(text)) + if err != nil { + return err + } + a.Address = addr + return nil +} + +func ParseEmailAddress(address string) (EmailAddress, error) { + addr, err := mail.ParseAddress(address) + return EmailAddress{addr}, err +} + +func MustParseEmailAddress(s string) EmailAddress { + addr, err := mail.ParseAddress(s) + if err != nil { + panic(fmt.Sprintf("lulu: %v", err)) + } + return EmailAddress{addr} +} -- cgit v1.2.3