From c883470c2ef977b8675b12428591bb003694e235 Mon Sep 17 00:00:00 2001 From: René 'Necoro' Neumann Date: Thu, 23 Apr 2020 20:48:17 +0200 Subject: Restructure imap pkg --- internal/imap/folder.go | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 internal/imap/folder.go (limited to 'internal/imap/folder.go') diff --git a/internal/imap/folder.go b/internal/imap/folder.go new file mode 100644 index 0000000..1f4e0bf --- /dev/null +++ b/internal/imap/folder.go @@ -0,0 +1,33 @@ +package imap + +import "strings" + +type Folder struct { + str string + delimiter string +} + +func (f Folder) String() string { + return f.str +} + +func (f Folder) Append(other Folder) Folder { + if f.delimiter != other.delimiter { + panic("Delimiters do not match") + } + return Folder{ + str: f.str + f.delimiter + other.str, + delimiter: f.delimiter, + } +} + +func (client *Client) folderName(path []string) Folder { + return Folder{ + strings.Join(path, client.delimiter), + client.delimiter, + } +} + +func (client *Client) NewFolder(path []string) Folder { + return client.toplevel.Append(client.folderName(path)) +} -- cgit v1.2.3-70-g09d2