diff --git a/list/immutable.go b/list/immutable.go new file mode 100644 index 0000000..563724d --- /dev/null +++ b/list/immutable.go @@ -0,0 +1,17 @@ +package list + +// An Immutable is a wrapper around a userlist reference that provides a limited +// set of methods for reading a userlist's content +type Immutable struct { + list *List +} + +// User gets a user by nick +func (il Immutable) User(nick string) (u User, ok bool) { + return il.list.User(nick) +} + +// Users gets all the users in the list, in order +func (il Immutable) Users() []User { + return il.list.Users() +}