From e508f2ca814c53e168d9158bc8cc6d42975699a0 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Thu, 16 Apr 2020 16:33:56 +0200 Subject: [PATCH] Unify downstreamConn.marshal{Entity,Nick,Channel} We don't actually need to check if the entity is a channel. --- downstream.go | 58 +++++++++++++++++++++++---------------------------- 1 file changed, 26 insertions(+), 32 deletions(-) diff --git a/downstream.go b/downstream.go index a3c8c66..4c6f16c 100644 --- a/downstream.go +++ b/downstream.go @@ -126,20 +126,38 @@ func (dc *downstreamConn) upstream() *upstreamConn { // // This involves adding a "/" suffix if the entity isn't the current // user. -func (dc *downstreamConn) marshalEntity(uc *upstreamConn, entity string) string { - if uc.isChannel(entity) { - return dc.marshalChannel(uc, entity) - } - return dc.marshalNick(uc, entity) -} - -func (dc *downstreamConn) marshalChannel(uc *upstreamConn, name string) string { +func (dc *downstreamConn) marshalEntity(uc *upstreamConn, name string) string { if dc.network != nil { return name } + if name == uc.nick { + return dc.nick + } return name + "/" + uc.network.GetName() } +func (dc *downstreamConn) marshalChannel(uc *upstreamConn, name string) string { + return dc.marshalEntity(uc, name) +} + +func (dc *downstreamConn) marshalNick(uc *upstreamConn, name string) string { + return dc.marshalEntity(uc, name) +} + +func (dc *downstreamConn) marshalUserPrefix(uc *upstreamConn, prefix *irc.Prefix) *irc.Prefix { + if prefix.Name == uc.nick { + return dc.prefix() + } + if dc.network != nil { + return prefix + } + return &irc.Prefix{ + Name: prefix.Name + "/" + uc.network.GetName(), + User: prefix.User, + Host: prefix.Host, + } +} + // unmarshalEntity converts a downstream entity name (ie. channel or nick) into // an upstream entity name. // @@ -171,30 +189,6 @@ func (dc *downstreamConn) unmarshalEntity(name string) (*upstreamConn, string, e return conn, name, nil } -func (dc *downstreamConn) marshalNick(uc *upstreamConn, nick string) string { - if nick == uc.nick { - return dc.nick - } - if dc.network != nil { - return nick - } - return nick + "/" + uc.network.GetName() -} - -func (dc *downstreamConn) marshalUserPrefix(uc *upstreamConn, prefix *irc.Prefix) *irc.Prefix { - if prefix.Name == uc.nick { - return dc.prefix() - } - if dc.network != nil { - return prefix - } - return &irc.Prefix{ - Name: prefix.Name + "/" + uc.network.GetName(), - User: prefix.User, - Host: prefix.Host, - } -} - func (dc *downstreamConn) readMessages(ch chan<- event) error { for { msg, err := dc.ReadMessage()