diff options
Diffstat (limited to 'forged/internal/irc/source.go')
-rw-r--r-- | forged/internal/irc/source.go | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/forged/internal/irc/source.go b/forged/internal/irc/source.go deleted file mode 100644 index d955f45..0000000 --- a/forged/internal/irc/source.go +++ /dev/null @@ -1,50 +0,0 @@ -// SPDX-License-Identifier: MIT -// SPDX-FileCopyrightText: Copyright (c) 2025 Runxi Yu <https://runxiyu.org> - -package irc - -import ( - "bytes" - - "go.lindenii.runxiyu.org/forge/forged/internal/misc" -) - -type Source interface { - AsSourceString() string -} - -func parseSource(s []byte) Source { - nick, userhost, found := bytes.Cut(s, []byte{'!'}) - if !found { - return Server{name: misc.BytesToString(s)} - } - - user, host, found := bytes.Cut(userhost, []byte{'@'}) - if !found { - return Server{name: misc.BytesToString(s)} - } - - return Client{ - Nick: misc.BytesToString(nick), - User: misc.BytesToString(user), - Host: misc.BytesToString(host), - } -} - -type Server struct { - name string -} - -func (s Server) AsSourceString() string { - return s.name -} - -type Client struct { - Nick string - User string - Host string -} - -func (c Client) AsSourceString() string { - return c.Nick + "!" + c.User + "@" + c.Host -} |