//Numeric.RPL_WHOISKEYVALUE import virc.common : User; import std.range : only, takeNone; { with(parseNumeric!(Numeric.RPL_WHOISKEYVALUE)(only("someone!test@example.com", "url", "*", "http://www.example.com"), "@", "#").get) { assert(target.user == User("someone!test@example.com")); assert(key == "url"); assert(visibility == "*"); assert(value == "http://www.example.com"); } } { immutable logon = parseNumeric!(Numeric.RPL_WHOISKEYVALUE)(takeNone(only("")), "@", "#"); assert(logon.isNull); } { immutable logon = parseNumeric!(Numeric.RPL_WHOISKEYVALUE)(only("*"), "@", "#"); assert(logon.isNull); } { immutable logon = parseNumeric!(Numeric.RPL_WHOISKEYVALUE)(only("*", "url"), "@", "#"); assert(logon.isNull); } { immutable logon = parseNumeric!(Numeric.RPL_WHOISKEYVALUE)(only("*", "url", "*"), "@", "#"); assert(logon.isNull); }
Format is 760 <Target> <Key> <Visibility> :<Value>