parseNumeric

Parser for RPL_WHOISUSER

Format is 311 <client> <nick> <user> <host> * :<real name>

Examples

import virc.common : User;
import std.range : only, takeNone;
{
	immutable reply = parseNumeric!(Numeric.RPL_WHOISUSER)(only("someone", "whoisuser", "someUsername", "someHostname", "*", "a real name"));
	assert(reply.get.user == User("whoisuser"));
	assert(reply.get.username == "someUsername");
	assert(reply.get.hostname == "someHostname");
	assert(reply.get.realname == "a real name");
}
{
	immutable reply = parseNumeric!(Numeric.RPL_WHOISUSER)(only("someone", "whoisuser", "someUsername", "someHostname", "*"));
	assert(reply.isNull);
}
{
	immutable reply = parseNumeric!(Numeric.RPL_WHOISUSER)(only("someone", "whoisuser", "someUsername", "someHostname"));
	assert(reply.isNull);
}
{
	immutable reply = parseNumeric!(Numeric.RPL_WHOISUSER)(only("someone", "whoisuser", "someUsername"));
	assert(reply.isNull);
}
{
	immutable reply = parseNumeric!(Numeric.RPL_WHOISUSER)(only("someone", "whoisuser"));
	assert(reply.isNull);
}
{
	immutable reply = parseNumeric!(Numeric.RPL_WHOISUSER)(only("someone"));
	assert(reply.isNull);
}
{
	immutable reply = parseNumeric!(Numeric.RPL_WHOISUSER)(takeNone(only("")));
	assert(reply.isNull);
}

Meta