aboutsummaryrefslogtreecommitdiff
path: root/contact.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-03-18 19:48:31 +0100
committerDimitri Sokolyuk <demon@dim13.org>2016-03-18 19:48:31 +0100
commit9f1968bec0756aba25f4e6bb300d23bbdab87f51 (patch)
tree804a0674d8a56b8a26e0a35ccc34a8168d399569 /contact.go
parent767868108a78b0c62b6613dba22e81b9134739b2 (diff)
wip
Diffstat (limited to 'contact.go')
-rw-r--r--contact.go19
1 files changed, 16 insertions, 3 deletions
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
}