cchat-gtk/internal/ui/service/breadcrumb/breadcrumb.go

22 lines
408 B
Go

package breadcrumb
import "strings"
type Breadcrumb []string
func (b Breadcrumb) String() string {
return strings.Join([]string(b), "/")
}
type Breadcrumber interface {
Breadcrumb() Breadcrumb
}
// Try accepts a nilable breadcrumber and handles it appropriately.
func Try(i Breadcrumber, appended ...string) []string {
if i == nil {
return appended
}
return append(i.Breadcrumb(), appended...)
}