From 9f1968bec0756aba25f4e6bb300d23bbdab87f51 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 18 Mar 2016 19:48:31 +0100 Subject: wip --- contact.go | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'contact.go') diff --git a/contact.go b/contact.go index 71b4ecd..2a69ebe 100644 --- a/contact.go +++ b/contact.go @@ -48,14 +48,27 @@ func (ph Phone) MarshalText() ([]byte, error) { return []byte("tel:" + ph), nil } -func NewContacts(email, phone string) (Contacts, error) { +func NewMail(email string) (Mail, error) { m, err := mail.ParseAddress(email) + if err != nil { + return "", err + } + return Mail(m.Address), nil +} + +func NewPhone(phone string) (Phone, error) { + return Phone(phone), nil +} + +func NewContacts(email, phone string) (Contacts, error) { + m, err := NewMail(email) if err != nil { return nil, err } - c := Contacts{Mail(m.Address)} + c := Contacts{m} if phone != "" { - c = append(c, Phone(phone)) + p, _ := NewPhone(phone) + c = append(c, p) } return c, nil } -- cgit v1.2.3